/*** IMPORT CONFIG ***/
/*** IMPORT BASIC STUFF ***/
/**
 * Only use these mixins if it is not possible to add the icon directly to the source
 */
/**
 * Set fluid CSS property based on viewport width
 *
 * $min-vw: defines the minimum resolution used for fluid calculation
 * $max-vw: defines the maximum resolution used for fluid calculation
 */
/**
 * uses default viewport widths from _variables.scss
 */
/**
 * uses phone viewport only
 */
/**
 * uses phone portrait viewport only and
 * calculates the value based on a device width of 375px
 */
/**
 * uses tablet viewport only
 */
/**
 * uses desktop viewport only
 */
/* Container Mimicry */
/*
 * set color of svg
 */
/* hover only for pointer fine (not touch) */
/*
 * custom scrollbar styling (only works in modern chrome, firefox, safari & edge)
 * apply only to non mobile
 */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  font-family: sans-serif;
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
  display: block;
}

body {
  margin: 0;
  font-family: "Rubik", sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.5625;
  color: #505450;
  text-align: left;
  background-color: #fff;
}

[tabindex="-1"]:focus {
  outline: 0 !important;
}

.icon svg {
  width: 16px;
  height: 16px;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
  margin-bottom: 1em;
}

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

abbr[title],
abbr[data-original-title] {
  text-decoration: underline;
  text-decoration: underline dotted;
  cursor: help;
  border-bottom: 0;
  text-decoration-skip-ink: none;
}

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

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

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

blockquote {
  margin: 0 0 1rem;
}

b,
strong {
  font-weight: 600;
}

small {
  font-size: 80%;
}

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

a {
  color: #505450;
  text-decoration: none;
  background-color: transparent;
}
a:not(.btn):hover {
  color: #D4D614;
  text-decoration: none;
}

a:not([href]):not([tabindex]) {
  color: inherit;
  text-decoration: none;
}
a:not([href]):not([tabindex]):focus {
  outline: 0;
}

pre {
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
}

figure {
  margin: 0;
}

img {
  vertical-align: middle;
  border-style: none;
}

svg {
  overflow: hidden;
  vertical-align: middle;
}

table {
  border-collapse: collapse;
}

caption {
  padding-top: 10px;
  padding-bottom: 10px;
  color: #000000;
  text-align: left;
  caption-side: bottom;
}

th {
  text-align: inherit;
}

label {
  display: inline-block;
  margin: 0;
}

button {
  border-radius: 0;
}

button:focus {
  /*outline: 1px dotted;
  outline: 5px auto -webkit-focus-ring-color;*/
  outline: none;
}

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

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

select {
  word-wrap: normal;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

input[type=radio],
input[type=checkbox] {
  box-sizing: border-box;
  padding: 0;
}

input[type=date],
input[type=time],
input[type=datetime-local],
input[type=month] {
  -webkit-appearance: listbox;
}

textarea {
  overflow: auto;
  resize: vertical;
}

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

legend {
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin-bottom: 0.5rem;
  font-size: 1.5rem;
  line-height: inherit;
  color: inherit;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

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

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

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

output {
  display: inline-block;
}

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

template {
  display: none;
}

[hidden] {
  display: none !important;
}

@keyframes spin {
  from {
    transform: rotateZ(0deg);
  }
  to {
    transform: rotateZ(360deg);
  }
}
@keyframes bounce {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(10px);
  }
  100% {
    transform: translateY(0);
  }
}
.embed-responsive {
  position: relative;
  width: 100%;
  height: 0;
}
.embed-responsive-1by1 {
  padding-bottom: 100%;
}
.embed-responsive-3by2 {
  padding-bottom: 66.66666%;
}
.embed-responsive-16by9 {
  padding-bottom: 56.25%;
}
.embed-responsive > * {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.embed-responsive > iframe {
  border: none;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  line-height: 1.2;
  font-family: "Hubot Sans Semi Expanded", sans-serif;
  font-weight: 600;
  margin-top: 0;
  margin-bottom: 0;
  word-break: break-all;
  hyphens: auto;
  word-break: break-all;
}
@supports (hyphens: auto) {
  h1, h2, h3, h4, h5, h6,
  .h1, .h2, .h3, .h4, .h5, .h6 {
    word-break: normal;
  }
}
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a,
.h1 a, .h2 a, .h3 a, .h4 a, .h5 a, .h6 a {
  color: inherit;
  text-decoration: none;
}
h1 a:hover, h1 a:focus, h2 a:hover, h2 a:focus, h3 a:hover, h3 a:focus, h4 a:hover, h4 a:focus, h5 a:hover, h5 a:focus, h6 a:hover, h6 a:focus,
.h1 a:hover,
.h1 a:focus, .h2 a:hover, .h2 a:focus, .h3 a:hover, .h3 a:focus, .h4 a:hover, .h4 a:focus, .h5 a:hover, .h5 a:focus, .h6 a:hover, .h6 a:focus {
  color: inherit;
  text-decoration: none;
}
h1 small, h2 small, h3 small, h4 small, h5 small, h6 small,
.h1 small, .h2 small, .h3 small, .h4 small, .h5 small, .h6 small {
  display: block;
  margin-top: 0.25em;
  line-height: 1.15;
  font-size: 0.6em;
  font-weight: 400;
  word-break: normal;
}

h1, .h1 {
  font-size: clamp(45px, 45px + 35 * (100vw - 768px) / 632, 80px);
}

h2, .h2 {
  font-size: clamp(55px, 55px + 15 * (100vw - 768px) / 632, 70px);
}

h3, .h3 {
  font-size: clamp(26px, 26px + 24 * (100vw - 768px) / 632, 50px);
}

h4, .h4 {
  font-size: clamp(23px, 23px + 7 * (100vw - 768px) / 632, 30px);
}
h4 small, .h4 small {
  font-size: 0.8em;
}

h5, .h5 {
  font-size: clamp(20px, 20px + 3 * (100vw - 768px) / 632, 23px);
}
h5 small, .h5 small {
  font-size: 1em;
}

h6, .h6 {
  font-size: 18px;
}
h6 small, .h6 small {
  font-size: 1em;
}

hr {
  color: #fff;
  margin-top: 2.2222222222rem;
  margin-bottom: 2.2222222222rem;
  opacity: 0.3;
  width: 100%;
}

p {
  margin-bottom: 0;
}

.lead {
  margin-bottom: 0;
}
.lead {
  font-size: clamp(17px, 17px + 3 * (100vw - 768px) / 632, 20px);
}

.text-left {
  text-align: left !important;
}
.text-right {
  text-align: right !important;
}
.text-center {
  text-align: center !important;
}
.text-justify {
  text-align: justify !important;
}

/*** IMPORT LAYOUT ***/
* {
  scrollbar-width: thin;
}

html {
  scroll-behavior: smooth;
}

body {
  overflow: visible;
  overflow-x: hidden;
  width: 100%;
  font-size: 18px;
}

a {
  transition: all 0.3s ease;
}

.page-wrap {
  overflow: visible;
  overflow-x: clip;
}

.no-break {
  white-space: nowrap;
}

::selection {
  background: #D4D614;
  color: #fff;
}

.page-header {
  position: relative;
  padding: 0 30px 30px;
  min-height: 230px;
}
.page-header--top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  height: 50px;
  z-index: 5;
}
.page-header--top--links, .page-header--top--contact {
  display: flex;
  gap: 30px;
}
.page-header--top--links .icon, .page-header--top--contact .icon {
  margin-left: 8px;
}
.page-header--top--links .icon [stroke]:not([stroke=none]), .page-header--top--contact .icon [stroke]:not([stroke=none]) {
  stroke: #505450;
}
.page-header--top--links .icon [fill]:not([fill=none]), .page-header--top--contact .icon [fill]:not([fill=none]) {
  fill: #505450;
}
.page-header--top--links .icon svg, .page-header--top--contact .icon svg {
  transition: all 0.3s ease;
}
.page-header--top--links .icon svg [stroke], .page-header--top--contact .icon svg [stroke] {
  transition: stroke 0.3s ease;
}
.page-header--top--links .icon svg [fill], .page-header--top--contact .icon svg [fill] {
  transition: fill 0.3s ease;
}
.page-header--top--links a, .page-header--top--contact a {
  color: #505450;
  display: flex;
  align-items: center;
  font-size: 14px;
  line-height: 1;
  transition: color 0.3s ease;
  will-change: color;
  padding: 5px 0;
}
.page-header--top--links a:hover, .page-header--top--links a:focus, .page-header--top--contact a:hover, .page-header--top--contact a:focus {
  color: #000;
}
.page-header--top--links a:hover .icon [stroke]:not([stroke=none]), .page-header--top--links a:focus .icon [stroke]:not([stroke=none]), .page-header--top--contact a:hover .icon [stroke]:not([stroke=none]), .page-header--top--contact a:focus .icon [stroke]:not([stroke=none]) {
  stroke: #000;
}
.page-header--top--links a:hover .icon [fill]:not([fill=none]), .page-header--top--links a:focus .icon [fill]:not([fill=none]), .page-header--top--contact a:hover .icon [fill]:not([fill=none]), .page-header--top--contact a:focus .icon [fill]:not([fill=none]) {
  fill: #000;
}
.page-header--top--links .icon svg {
  width: 9px;
  height: 9px;
}
.page-header--top--contact .icon {
  margin-right: 10px;
}
.page-header--top .logo {
  position: absolute;
  top: 40px;
  left: 50%;
  transform: translateX(-50%);
}
.page-header--top > a:not(.logo) {
  display: none;
}

.header-media {
  position: relative;
  display: flex;
  flex-direction: column;
  height: calc(100vh - 60px - 30px);
  height: calc(100svh - 60px - 30px);
  width: 100%;
  border-radius: 10px 10px 0 10px;
  overflow: hidden;
  padding: 100px 200px 60px 200px;
}
.header-media {
  min-height: clamp(250px, 250px + 110 * (100vw - 768px) / 632, 360px);
}
.header-media--image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
.header-media--image::before {
  content: "";
  position: absolute;
  bottom: -5px;
  right: -5px;
  width: clamp(50px, 16vw, 300px);
  height: clamp(50px, 16vw, 300px);
  background-color: #fff;
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
}
.header-media--image-mobile {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
.header-media--image-mobile::before {
  content: "";
  position: absolute;
  bottom: -5px;
  right: -5px;
  width: clamp(50px, 10vw, 100px);
  height: clamp(50px, 10vw, 100px);
  background-color: #fff;
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
}
.header-media--image, .header-media--image-mobile {
  height: 100%;
  background: #2d4862;
}
.header-media--image img, .header-media--image-mobile img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.header-media--image video, .header-media--image-mobile video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.header-media--logo {
  position: relative;
  z-index: 50;
  height: auto;
  padding-bottom: 30px;
  margin-bottom: auto;
}
.header-media--logo {
  width: clamp(300px, 300px + 100 * (100vw - 768px) / 632, 400px);
}
.header-media--brand-logos {
  position: relative;
  z-index: 50;
  display: flex;
  gap: 10px;
  margin-left: -15px;
  padding-top: 30px;
  margin-top: auto;
}
.header-media--brand-logos a {
  display: flex;
  height: 80px;
  justify-content: center;
  align-items: center;
  transition: background-color 0.6s ease;
  padding-right: 20px;
  padding-left: 20px;
  border-radius: 5px;
}
.header-media--brand-logos a:hover, .header-media--brand-logos a:focus {
  background-color: #505450;
}
.header-media--brand-logos svg {
  width: 200px;
}
.header-media--link {
  display: flex;
  align-items: center;
  width: auto;
  color: #D4D614;
  font-size: 18px;
  font-family: "Hubot Sans Semi Expanded", sans-serif;
  text-transform: uppercase;
  padding: 15px 0;
  height: 55px;
  border-radius: 5px;
  white-space: nowrap;
  transition: all 0.3s ease;
  will-change: padding, color, background-color;
}
.header-media--link:hover, .header-media--link:focus {
  color: #505450 !important;
  background-color: #D4D614;
  padding-left: 20px;
  padding-right: 20px;
}
.header-media--link:hover .icon, .header-media--link:focus .icon {
  transform: rotate(44.666deg);
}
.header-media--link:hover .icon [stroke]:not([stroke=none]), .header-media--link:focus .icon [stroke]:not([stroke=none]) {
  stroke: #505450;
}
.header-media--link:hover .icon [fill]:not([fill=none]), .header-media--link:focus .icon [fill]:not([fill=none]) {
  fill: #505450;
}
.header-media--link .icon {
  margin-left: 10px;
  padding: 0;
  display: flex;
  align-items: center;
  width: 13px;
  height: 13px;
  line-height: 1;
  flex-shrink: 0;
  transition: transform 0.3s ease;
  transform-origin: center center;
  will-change: transform;
  overflow: visible;
}
.header-media--link .icon svg {
  width: 100%;
  height: 100%;
  will-change: fill, stroke;
}
.header-media--link .icon svg [stroke] {
  stroke-width: 4;
}
.header-media--content {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding-right: 0;
  z-index: 1;
  color: #fff;
}
.header-media--content {
  max-width: clamp(360px, 360px + 300 * (100vw - 768px) / 632, 660px);
}
.header-media--title {
  position: relative;
  text-transform: uppercase;
  margin-bottom: 20px;
}
.header-media--title h1 {
  font-weight: 700;
}
.header-media--title h1 {
  font-size: clamp(32px, 32px + 28 * (100vw - 768px) / 632, 60px);
}
.header-media--title h1 {
  line-height: clamp(40px, 40px + 30 * (100vw - 768px) / 632, 70px);
}
.header-media--title h1 {
  margin-bottom: clamp(20px, 20px + 20 * (100vw - 768px) / 632, 40px);
}
.header-media--title small {
  display: block;
  text-transform: none;
  line-height: 1.3;
  font-weight: 400;
}
.header-media--title small {
  font-size: clamp(22px, 22px + 3 * (100vw - 768px) / 632, 25px);
}
.header-media--title small + p {
  margin-top: clamp(7px, 7px + 8 * (100vw - 768px) / 632, 15px);
}

.main-content {
  padding-top: clamp(40px, 40px + 60 * (100vw - 768px) / 632, 100px);
}
.main-content {
  padding-bottom: clamp(40px, 40px + 40 * (100vw - 768px) / 632, 80px);
}
.main-content > .container > a.btn {
  margin-bottom: 1rem;
}
.main-content > .container > .area:first-child:not([class*=margin-top--]) {
  margin-top: 0;
}
.main-content > .container > .area:last-child:not([class*=margin-bottom--]) {
  margin-bottom: 0;
}
:root {
  --scrollbarWidth: 0px;
}

.footer {
  position: relative;
  color: #fff;
}
.footer::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 250px;
  z-index: -1;
  background-color: #505450;
  mask-image: url("../images/layout/svg/footer-mask.svg");
  mask-size: cover;
  mask-repeat: no-repeat;
  mask-position: center top;
}
.footer::after {
  content: "";
  position: absolute;
  top: 250px;
  left: 0;
  width: 100%;
  height: calc(100% - 250px);
  z-index: -1;
  background-color: #505450;
}
.footer a {
  color: #fff;
}
.footer a:hover, .footer a:focus {
  color: #D4D614;
}
.footer--main {
  padding-left: 150px;
  padding-right: 150px;
  padding-top: 100px;
  border-bottom: 7px solid #D4D614;
}
.footer--contact {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}
.footer--contact ul {
  padding: 0;
}
.footer--contact ul li {
  display: flex;
  align-items: flex-start;
  list-style: none;
  font-family: "Hubot Sans Semi Expanded", sans-serif;
  font-weight: 600;
  line-height: 1;
  text-transform: uppercase;
  margin-bottom: 25px;
}
.footer--contact ul li {
  font-size: clamp(20px, 20px + 4 * (100vw - 768px) / 632, 24px);
}
.footer--contact ul li:last-child {
  margin-bottom: 0;
}
.footer--contact ul li .icon {
  display: flex;
  flex-shrink: 0;
  transition: transform 0.3s ease;
  transform-origin: center center;
  will-change: transform;
  margin-top: 4px;
}
.footer--contact ul li a {
  padding-left: 20px;
  color: #fff;
}
.footer--contact ul li:hover a, .footer--contact ul li:focus-within a {
  color: #D4D614;
}
.footer--contact ul li:hover .icon, .footer--contact ul li:focus-within .icon {
  transform: rotate(44.666deg);
}
.footer--contact ul li:hover .icon [stroke]:not([stroke=none]), .footer--contact ul li:focus-within .icon [stroke]:not([stroke=none]) {
  stroke: #D4D614;
}
.footer--contact ul li:hover .icon [fill]:not([fill=none]), .footer--contact ul li:focus-within .icon [fill]:not([fill=none]) {
  fill: #D4D614;
}
.footer--contact--opening-hours {
  background-color: rgba(255, 255, 255, 0.1019607843);
  flex: 0 0 auto;
  padding: 30px 40px 30px 40px;
  border-radius: 5px;
}
.footer--contact--opening-hours-headline {
  margin-bottom: 15px;
}
.footer--contact--opening-hours .opening-hours-row {
  display: flex;
  flex-wrap: nowrap;
  margin-bottom: 15px;
}
.footer--contact--opening-hours .opening-hours-row .opening-hours-day {
  flex-grow: 1;
  font-family: "Hubot Sans Semi Expanded", sans-serif;
  font-weight: 600;
}
.footer--contact--opening-hours .opening-hours-row .opening-hours-time {
  text-align: end;
}
.footer--contact--opening-hours .opening-hours-row:last-child {
  margin-bottom: 0;
}
.footer--infos {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  justify-content: space-between;
  gap: 10px;
}
.footer--infos hr {
  display: none;
}
.footer--infos--locations {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
.footer--infos--locations {
  gap: clamp(30px, 30px + 30 * (100vw - 768px) / 632, 60px);
}
.footer--infos--links {
  margin-top: 2.2222222222rem;
  margin-bottom: 2.2222222222rem;
}
.footer--infos--links .icon [stroke]:not([stroke=none]) {
  stroke: #fff;
}
.footer--infos--links .icon [fill]:not([fill=none]) {
  fill: #fff;
}
.footer--infos--links .icon svg {
  width: 10px;
  height: 10px;
}
.footer--infos--links ul {
  padding: 0;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 30px;
}
.footer--infos--links ul li {
  display: flex;
  align-items: center;
  list-style: none;
}
.footer--infos--links ul li a {
  padding-left: 10px;
  white-space: nowrap;
}
.footer--infos--links ul li:hover a, .footer--infos--links ul li:focus-within a {
  color: #D4D614;
}
.footer--infos--links ul li:hover .icon [stroke]:not([stroke=none]), .footer--infos--links ul li:focus-within .icon [stroke]:not([stroke=none]) {
  stroke: #D4D614;
}
.footer--infos--links ul li:hover .icon [fill]:not([fill=none]), .footer--infos--links ul li:focus-within .icon [fill]:not([fill=none]) {
  fill: #D4D614;
}
.footer--copyright {
  display: flex;
  gap: 15px;
  justify-content: space-between;
  margin-top: 60px;
  margin-bottom: 30px;
  color: rgba(255, 255, 255, 0.3);
}
.footer--copyright p {
  margin: 0;
  font-size: 14px;
  line-height: 25px;
  letter-spacing: 1px;
}
.footer--copyright .conecto-copyright {
  width: 150px;
  height: 15px;
  display: grid;
  padding-top: 3px;
  opacity: 0.4;
}

/*** IMPORT COMPONENTS ***/
/* hubot-sans-regular - latin */
@font-face {
  font-display: swap;
  font-family: "Hubot Sans";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/hubot-sans-v4-latin-regular.woff2") format("woff2");
}
/* hubot-sans-600 - latin */
@font-face {
  font-display: swap;
  font-family: "Hubot Sans";
  font-style: normal;
  font-weight: 600;
  src: url("../fonts/hubot-sans-v4-latin-600.woff2") format("woff2");
}
/* hubot-sans-600italic - latin */
@font-face {
  font-display: swap;
  font-family: "Hubot Sans";
  font-style: italic;
  font-weight: 600;
  src: url("../fonts/hubot-sans-v4-latin-600italic.woff2") format("woff2");
}
/* hubot-sans-700 - latin */
@font-face {
  font-display: swap;
  font-family: "Hubot Sans";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/hubot-sans-v4-latin-700.woff2") format("woff2");
}
/* hubot-sans-700italic - latin */
@font-face {
  font-display: swap;
  font-family: "Hubot Sans";
  font-style: italic;
  font-weight: 700;
  src: url("../fonts/hubot-sans-v4-latin-700italic.woff2") format("woff2");
}
/* hubot-sans-semi-expanded-600 - latin */
@font-face {
  font-display: swap;
  font-family: "Hubot Sans Semi Expanded";
  font-style: normal;
  font-weight: 600;
  src: url("../fonts/hubot-sans-semi-expanded-600.woff2") format("woff2");
}
/* hubot-sans-semi-expanded-700 - latin */
@font-face {
  font-display: swap;
  font-family: "Hubot Sans Semi Expanded";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/hubot-sans-semi-expanded-700.woff2") format("woff2");
}
/* rubik-regular - latin */
@font-face {
  font-display: swap;
  font-family: "Rubik";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/rubik-v28-latin-regular.woff2") format("woff2");
}
/* rubik-500 - latin */
@font-face {
  font-display: swap;
  font-family: "Rubik";
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/rubik-v28-latin-500.woff2") format("woff2");
}
/* rubik-500italic - latin */
@font-face {
  font-display: swap;
  font-family: "Rubik";
  font-style: italic;
  font-weight: 500;
  src: url("../fonts/rubik-v28-latin-500italic.woff2") format("woff2");
}
/* rubik-700 - latin */
@font-face {
  font-display: swap;
  font-family: "Rubik";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/rubik-v28-latin-700.woff2") format("woff2");
}
/* rubik-700italic - latin */
@font-face {
  font-display: swap;
  font-family: "Rubik";
  font-style: italic;
  font-weight: 700;
  src: url("../fonts/rubik-v28-latin-700italic.woff2") format("woff2");
}
.a11y--jump-link {
  background-color: #000;
  color: #fff;
  text-decoration: none;
  margin: 0;
  padding: 0.5em 1em;
  position: absolute !important;
  top: 0;
  left: 0;
  z-index: 1000000;
}
.a11y--jump-link:active, .a11y--jump-link:focus {
  display: block;
  width: 100%;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.sr-only-focusable {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.sr-only-focusable:active, .sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  white-space: normal;
}

.container {
  margin-left: auto;
  margin-right: auto;
  padding-left: 30px;
  padding-right: 30px;
  max-width: 1340px;
  position: relative;
  top: -220px;
}
.container--narrow {
  max-width: 750px;
}
.container--full-width {
  max-width: none;
  width: 100%;
}

.logo {
  display: block;
  height: auto;
}
.logo > svg,
.logo > img,
.logo > picture > img {
  display: block;
  width: 100%;
  max-height: 100%;
  height: auto;
}

.btn {
  display: inline-flex;
  align-items: center;
  position: relative;
  padding: 0 20px;
  height: 50px;
  font-family: var(--font-family-base);
  font-weight: 600;
  font-size: 16px;
  line-height: 1.2;
  text-decoration: none;
  vertical-align: middle;
  cursor: pointer;
  user-select: none;
  background-color: transparent;
  box-shadow: none;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border: none;
  z-index: 1;
  transition: color 0.3s, padding 0.3s;
}
.btn:before {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: skew(-14deg);
  border-radius: 5px;
}
.btn.btn-primary:after, .btn.btn-secondary:after, .btn.btn-text:after {
  display: block;
  content: "";
  position: absolute;
  left: 20px;
  top: 50%;
  width: 8px;
  height: 8px;
  border-top: 2px solid transparent;
  border-right: 2px solid transparent;
  transform: translateY(-50%) rotateZ(45deg);
  pointer-events: none;
}
.btn.btn-primary:after, .btn.btn-secondary:after {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
}
.btn.btn-primary, .btn.btn-secondary, .btn.btn-outline {
  text-align: center;
}
.btn:before {
  border: 1px solid transparent;
  transition: background-color 0.3s, box-shadow 0.3s;
  z-index: -1;
}
.btn:focus-visible {
  outline: 0;
}
.btn:focus-visible:before {
  outline: 2px solid #000;
}
.btn:disabled, .btn.disabled {
  pointer-events: none;
  opacity: 0.4;
}
.btn-block, .btn-flex {
  display: flex;
}
.btn-primary {
  color: #fff;
}
.btn-primary:before {
  background-color: #D4D614;
}
.btn-primary.btn:after {
  border-color: #D4D614;
}
.btn-secondary {
  color: #fff;
}
.btn-secondary:before {
  background-color: #505450;
}
.btn-secondary.btn:after {
  border-color: #505450;
}
.btn-outline {
  color: #505450;
}
.btn-outline:before {
  background-color: transparent;
}
.btn-outline.btn:after {
  border-color: #505450;
}
.btn-outline:before {
  box-shadow: 0 0 1px #505450;
}
.btn-outline:after {
  display: none;
}
.btn-text {
  color: #505450;
  text-transform: none;
}
.btn-text, .btn-text.btn.btn-sm, .btn-text.btn.btn-lg {
  padding: 0 15px 0 40px;
  height: 40px;
}
.btn-text:before {
  display: none;
}
.btn-text.btn:after {
  left: 15px;
  opacity: 1;
  visibility: visible;
  border-color: #D4D614;
}
.btn-text.cookie-icon.btn:after {
  content: "";
  opacity: 1;
  visibility: visible;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 30 30'%3E%3Cpath stroke='%23E65014' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2' d='M14.214 17.708h.081m10.141-.906h.08M11.387 23.31h.082m9.284-9.28h.082m-6.727-.945h.081M11.372 1h.079m5.7.41c-.086 2.618-2.251 4.715-4.914 4.715-.21 0-.417-.018-.62-.044.137.451.214.928.214 1.423 0 2.694-2.205 4.88-4.923 4.88a5 5 0 0 1-1.993-.418 4.92 4.92 0 0 1-3.903 2.738c-.005.139-.012.277-.012.419C1 22.788 7.267 29 15 29s14-6.212 14-13.877c0-6.941-5.14-12.689-11.851-13.716zM6.13 7.075a.82.82 0 0 1-.824.816.82.82 0 0 1-.824-.816.82.82 0 0 1 .824-.816.82.82 0 0 1 .824.816m14.023 1.915a.82.82 0 0 1-.824.817.82.82 0 0 1-.823-.817.82.82 0 0 1 .823-.816.82.82 0 0 1 .824.816M8.947 17.3a.82.82 0 0 1-.823.817.82.82 0 0 1-.824-.817.82.82 0 0 1 .824-.816.82.82 0 0 1 .823.816m10.258 4.619a.82.82 0 0 1-.824.816.82.82 0 0 1-.824-.816.82.82 0 0 1 .824-.817.82.82 0 0 1 .824.817'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  border-color: transparent;
  width: 20px;
  height: 100%;
  position: relative;
  top: 22px;
  left: -195px;
  rotate: 310deg;
}
.btn-text:focus-visible {
  outline: 2px solid #000;
  border-radius: 3px;
}
.btn.btn-lg {
  padding: 0 22px;
  height: 60px;
}
.btn.btn-sm {
  padding: 0 16px;
  height: 40px;
  font-size: 14px;
}
.btn.btn-sm:before {
  border-radius: 3px;
}
.highlight .btn.btn-primary, .area--promo-textmedia:not(.large-text) .area--promo-textmedia--text .btn.btn-primary {
  color: #D4D614;
}
.highlight .btn.btn-primary:before, .area--promo-textmedia:not(.large-text) .area--promo-textmedia--text .btn.btn-primary:before {
  background-color: #fff;
}
.highlight .btn.btn-primary.btn:after, .area--promo-textmedia:not(.large-text) .area--promo-textmedia--text .btn.btn-primary.btn:after {
  border-color: #D4D614;
}
.highlight .btn.btn-outline, .area--promo-textmedia:not(.large-text) .area--promo-textmedia--text .btn.btn-outline {
  color: #fff;
}
.highlight .btn.btn-outline:before, .area--promo-textmedia:not(.large-text) .area--promo-textmedia--text .btn.btn-outline:before {
  background-color: transparent;
}
.highlight .btn.btn-outline.btn:after, .area--promo-textmedia:not(.large-text) .area--promo-textmedia--text .btn.btn-outline.btn:after {
  border-color: #505450;
}
.highlight .btn.btn-outline:before, .area--promo-textmedia:not(.large-text) .area--promo-textmedia--text .btn.btn-outline:before {
  box-shadow: 0 0 1px #fff;
}
.highlight .btn.btn-outline:after, .area--promo-textmedia:not(.large-text) .area--promo-textmedia--text .btn.btn-outline:after {
  display: none;
}

.main-nav {
  display: block;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  padding-top: 50px;
  width: 100%;
  background: #fff;
  transform: translateX(101%);
  visibility: hidden;
  transition: transform 0.5s, visibility 0.5s;
  z-index: 9990;
}
.main-nav.open {
  transform: translateX(0);
  visibility: visible;
}
.main-nav.open ~ .main-nav--overlay {
  opacity: 1;
  visibility: visible;
}
.main-nav--inner {
  max-height: 100%;
  overflow: hidden;
  overflow-y: auto;
  scrollbar-width: initial;
}
html:not([data-useragent*=Mobile]) .main-nav--inner {
  scrollbar-width: initial;
  scrollbar-color: initial;
}
html:not([data-useragent*=Mobile]) .main-nav--inner::-webkit-scrollbar {
  width: 3px;
  height: 3px;
}
html:not([data-useragent*=Mobile]) .main-nav--inner::-webkit-scrollbar-track {
  background: transparent;
}
html:not([data-useragent*=Mobile]) .main-nav--inner::-webkit-scrollbar-thumb {
  background-color: rgba(80, 84, 80, 0.6);
  border-radius: 5px;
  border: 0 solid transparent;
}
.main-nav--inner > img,
.main-nav--inner > picture > img {
  display: block;
  width: 100%;
  height: auto;
}
.main-nav--inner.no-image .logo {
  margin-bottom: 0;
}
.main-nav .logo {
  position: relative;
  left: 30px;
  width: 75px;
  margin-bottom: -75px;
}
.main-nav--list {
  margin: 0;
  padding: 30px 0 80px;
  list-style-type: none;
  /* 1. Level */
}
.main-nav--list li.accessible-menu--has-submenu-open > .main-nav--subnav-toggle {
  opacity: 0.5;
}
.main-nav--list li.accessible-menu--has-submenu-open > .main-nav--subnav-toggle:after {
  opacity: 0;
}
.main-nav--list ul {
  margin: 0;
  padding: 0;
  list-style-type: none;
}
.main-nav--list a {
  text-decoration: none;
  color: #505450;
}
.main-nav--list .main-nav--subnav-toggle {
  position: relative;
  display: block;
  padding: 0;
  width: 40px;
  height: 40px;
  border: none;
  background: none;
  cursor: pointer;
}
.main-nav--list .main-nav--subnav-toggle:focus-visible {
  outline: 2px solid #000;
  border-radius: 3px;
}
.main-nav--list .main-nav--subnav-toggle:before, .main-nav--list .main-nav--subnav-toggle:after {
  display: block;
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 14px;
  height: 2px;
  border-radius: 2px;
  transform-origin: 50% 50%;
  background: #505450;
}
.main-nav--list .main-nav--subnav-toggle:before {
  transform: translate(-50%, -50%);
}
.main-nav--list .main-nav--subnav-toggle:after {
  transform: translate(-50%, -50%) rotateZ(90deg);
}
.main-nav--list > li.quicklink {
  display: block;
}
.main-nav--list > li.accessible-menu--has-submenu-open > a:after {
  opacity: 0;
}
.main-nav--list > li.active > a, .main-nav--list > li.accessible-menu--has-submenu-open > a {
  padding: 0 70px 0 40px;
}
.main-nav--list > li.active > a span:before, .main-nav--list > li.accessible-menu--has-submenu-open > a span:before {
  opacity: 1;
}
.main-nav--list > li > a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  padding: 0 80px 0 30px;
  height: 70px;
  font-size: 11px;
  line-height: 1.36;
  transition: background-color 0.3s, padding 0.3s;
}
.main-nav--list > li > a:focus-visible {
  outline-offset: 0;
}
.main-nav--list > li > a:after {
  display: block;
  content: "";
  position: absolute;
  left: 30px;
  right: 30px;
  bottom: 0;
  height: 1px;
  opacity: 0.2;
  pointer-events: none;
  transition: opacity 0.3s;
}
.main-nav--list > li > a span {
  display: block;
  letter-spacing: 0.05em;
}
.main-nav--list > li > a span:before {
  display: block;
  content: "";
  width: 2px;
  height: 100%;
  transform: skew(-14deg);
  background: #D4D614;
}
.main-nav--list > li > a span:before {
  position: absolute;
  top: 18px;
  left: 32px;
  height: 13px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s;
}
.main-nav--list > li > a span:empty {
  position: absolute;
  left: 0;
  top: 8px;
}
.main-nav--list > li > a strong {
  display: block;
  font-size: 20px;
  line-height: 1;
  font-family: var(--font-family-special);
}
.main-nav--list > li > .main-nav--subnav-toggle {
  position: absolute;
  right: 35px;
  top: 15px;
}
.main-nav--list > li ul.accessible-menu__submenu--open {
  max-height: 200vh;
}
.main-nav--list > li > ul {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 0 15px;
  background: #e0e0e0;
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.5s;
  /* 2. Level */
}
.main-nav--list > li > ul > li {
  position: relative;
}
.main-nav--list > li > ul > li:first-child {
  margin-top: 15px;
}
.main-nav--list > li > ul > li:last-child {
  margin-bottom: 15px;
}
.main-nav--list > li > ul > li.active > a {
  color: #D4D614;
}
.main-nav--list > li > ul > li > a {
  display: flex;
  align-items: center;
  position: relative;
  min-height: 60px;
  font-family: var(--font-family-special);
  font-size: 18px;
  font-weight: 600;
  line-height: 1;
  background: #fff;
  border-radius: 5px;
  overflow: hidden;
}
.main-nav--list > li > ul > li > a .subnav-img {
  flex: 0 0 auto;
  aspect-ratio: 1/1;
  height: 80px;
  overflow: hidden;
}
.main-nav--list > li > ul > li > a .subnav-img img {
  display: block;
  width: 100%;
  height: auto;
  transition: transform 0.3s;
}
.main-nav--list > li > ul > li > a span {
  display: block;
  padding: 0 50px 0 30px;
}
.main-nav--list > li > ul > li > .main-nav--subnav-toggle {
  position: absolute;
  top: 20px;
  right: 20px;
}
.main-nav--list > li > ul > li.no-img > .main-nav--subnav-toggle {
  top: 10px;
}
.main-nav--list > li > ul > li > ul {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s;
  /* 3. Level */
}
.main-nav--list > li > ul > li > ul.accessible-menu__submenu--open {
  max-height: 200vh;
}
.main-nav--list > li > ul > li > ul > li:first-child {
  margin-top: 20px;
}
.main-nav--list > li > ul > li > ul > li:last-child {
  margin-bottom: 20px;
}
.main-nav--list > li > ul > li > ul > li + li {
  margin-top: 5px;
}
.main-nav--list > li > ul > li > ul > li.active > a {
  color: #D4D614;
}
.main-nav--list > li > ul > li > ul > li > a {
  position: relative;
  display: block;
  padding: 7px 30px 8px 55px;
  font-size: 16px;
  font-weight: 600;
  line-height: 25px;
  letter-spacing: 0.05em;
  transition: padding 0.3s, color 0.3s;
}
.main-nav--list > li > ul > li > ul > li > a:before {
  display: block;
  content: "";
  position: absolute;
  left: 28px;
  top: 50%;
  width: 8px;
  height: 8px;
  transform: translateY(-50%) rotateZ(45deg);
  border-top: 2px solid #D4D614;
  border-right: 2px solid #D4D614;
  pointer-events: none;
}
.main-nav--bottom {
  display: flex;
  align-items: center;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 0 15px;
  height: 60px;
  background: #fff;
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.2);
}
.main-nav--bottom a {
  display: flex;
  place-items: center;
  place-content: center;
  width: 50px;
  height: 50px;
}
.main-nav--bottom a + a {
  position: relative;
  margin-left: 40px;
}
.main-nav--bottom a + a:before {
  display: block;
  content: "";
  position: absolute;
  left: -35px;
  top: 50%;
  width: 30px;
  height: 2px;
  transform: translateY(-50%) rotateZ(90deg);
  opacity: 0.2;
  pointer-events: none;
}
.main-nav--bottom a .icon {
  font-size: 30px;
}
.main-nav--bottom a .icon svg [stroke]:not([stroke=none]) {
  stroke: #505450;
}
.main-nav--bottom a .icon svg [fill]:not([fill=none]) {
  fill: #505450;
}
.main-nav--bottom a .icon svg [stroke] {
  stroke-width: 0.8;
}
.main-nav--bottom .page-header--login {
  display: flex;
  margin-left: auto;
}
.main-nav--toggle {
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
}
.main-nav--toggle:focus-visible {
  outline: 0;
}
.main-nav--toggle:focus-visible:before {
  outline: 2px solid #000;
}
.main-nav--toggle span {
  position: relative;
  display: block;
  width: 50px;
  height: 5px;
}
.main-nav--toggle span:before, .main-nav--toggle span:after {
  display: block;
  content: "";
  position: absolute;
  left: 50%;
  height: 2px;
  border-radius: 2px;
  width: 22px;
  background: #505450;
  transform: translate(-50%, 0);
  transform-origin: 50% 50%;
  transition: transform 0.3s, rotate 0.3s;
}
.main-nav--toggle span:before {
  bottom: 100%;
}
.main-nav--toggle span:after {
  top: 100%;
}
.main-nav .main-nav--toggle, .login .main-nav--toggle {
  display: flex;
  place-items: center;
  place-content: center;
  position: absolute;
  top: 30px;
  right: 35px;
  width: 50px;
  height: 50px;
  filter: drop-shadow(0 0 30px rgba(0, 0, 0, 0.2));
  z-index: 1;
}
.main-nav .main-nav--toggle:before, .login .main-nav--toggle:before {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: skew(-14deg);
  background: #fff;
  border-radius: 5px;
}
.main-nav .main-nav--toggle:before, .login .main-nav--toggle:before {
  transition: background-color 0.3s;
}
.main-nav .main-nav--toggle span:before, .main-nav .main-nav--toggle span:after, .login .main-nav--toggle span:before, .login .main-nav--toggle span:after {
  width: 23px;
}
.main-nav .main-nav--toggle span:before, .login .main-nav--toggle span:before, .main-nav--toggle.active span:before {
  transform: translate(-50%, 3px) rotateZ(45deg);
}
.main-nav .main-nav--toggle span:after, .login .main-nav--toggle span:after, .main-nav--toggle.active span:after {
  transform: translate(-50%, -3px) rotateZ(-45deg);
}
.main-nav--overlay {
  position: fixed;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background: rgba(80, 84, 80, 0.5);
  z-index: 9989;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
}

.lang-nav--list {
  display: flex;
  gap: 10px;
  list-style-type: none;
  margin: 0;
  padding: 0;
}
.lang-nav--list abbr {
  cursor: inherit;
  display: inline-block;
  text-decoration: none;
  white-space: nowrap;
}
.lang-nav--list li {
  position: relative;
}
.lang-nav--list li + li:before {
  display: block;
  content: "";
  width: 1px;
  height: 100%;
  transform: skew(-14deg);
  background: #505450;
}
.lang-nav--list li + li:before {
  position: absolute;
  top: 5px;
  left: -6px;
  height: calc(100% - 10px);
  opacity: 0.15;
}
.lang-nav--list a {
  display: block;
  padding: 0 7px;
  height: 30px;
  line-height: 30px;
  font-size: 11px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #505450;
  transition: color 0.3s;
}
.lang-nav--list a.active {
  opacity: 0.6;
}

.cols {
  display: grid;
  grid-column-gap: 15px;
  grid-row-gap: 15px;
}
.cols.no-gutter {
  grid-column-gap: 0;
  grid-row-gap: 0;
}

table.contenttable,
.area--text table,
.area--table table {
  width: 100%;
  border: none;
  border-collapse: separate;
  border-spacing: 5px;
}
table.contenttable th,
table.contenttable td,
.area--text table th,
.area--text table td,
.area--table table th,
.area--table table td {
  padding: 12px 20px;
  border-radius: 5px;
  color: var(--text-color);
  font-size: 16px;
  line-height: 1.5625;
  min-width: max(180px, 25vw);
}
table.contenttable thead tr:first-child.hidden,
.area--text table thead tr:first-child.hidden,
.area--table table thead tr:first-child.hidden {
  display: none;
}
table.contenttable thead tr:first-child th,
.area--text table thead tr:first-child th,
.area--table table thead tr:first-child th {
  padding: 16px 20px;
  background-color: #D4D614;
  color: #fff;
  font-size: 18px;
  line-height: 1;
  font-weight: 600;
  font-family: var(--font-family-special);
}
table.contenttable thead tr:not(:first-child) th,
table.contenttable tbody th,
.area--text table thead tr:not(:first-child) th,
.area--text table tbody th,
.area--table table thead tr:not(:first-child) th,
.area--table table tbody th {
  font-weight: 600;
  background: #E8EAED;
}
table.contenttable tbody tr,
.area--text table tbody tr,
.area--table table tbody tr {
  position: relative;
}
table.contenttable tbody tr td:first-child:after,
.area--text table tbody tr td:first-child:after,
.area--table table tbody tr td:first-child:after {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  right: 0;
  height: 1px;
  background-size: auto 100%;
  opacity: 0.3;
  filter: brightness(0) saturate(100%) invert(32%) sepia(2%) saturate(474%) hue-rotate(202deg) brightness(96%) contrast(82%);
}
table.contenttable p:last-child,
.area--text table p:last-child,
.area--table table p:last-child {
  margin-bottom: 0;
}
.teaser--container {
  padding-left: 150px;
  padding-right: 150px;
}
.teaser--container > .cols {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: auto minmax(0, 1fr);
}

.teaser {
  position: relative;
  display: flex;
  width: 100%;
  height: auto;
  perspective: 1000px;
  cursor: pointer;
}
.teaser .teaser--front,
.teaser .teaser--back {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  backface-visibility: hidden;
  transform-style: preserve-3d;
  transition-timing-function: ease-in-out;
  transition-duration: 0.6s;
  transition-property: transform;
  transition: transform 0.6s cubic-bezier(0.4, 0.2, 0.2, 1);
  border-radius: 10px;
  overflow: hidden;
}
.teaser .teaser--front,
.teaser .teaser--back {
  padding-left: clamp(40px, 40px + 20 * (100vw - 768px) / 632, 60px);
}
.teaser .teaser--front,
.teaser .teaser--back {
  padding-right: clamp(40px, 40px + 20 * (100vw - 768px) / 632, 60px);
}
.teaser .teaser--front,
.teaser .teaser--back {
  padding-top: clamp(30px, 30px + 10 * (100vw - 768px) / 632, 40px);
}
.teaser .teaser--front,
.teaser .teaser--back {
  padding-bottom: clamp(40px, 40px + 20 * (100vw - 768px) / 632, 60px);
}
.teaser .teaser--front > *,
.teaser .teaser--back > * {
  position: relative;
  z-index: 2;
}
.teaser .teaser--front .teaser--background,
.teaser .teaser--back .teaser--background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 1;
}
.teaser .teaser--front {
  background: #fff;
  z-index: 2;
  background-size: cover;
  transform: rotateY(0deg);
}
.teaser .teaser--front .icon.icon--pfeil {
  display: flex;
  width: 32px;
  height: 32px;
  margin-top: auto;
  margin-left: auto;
  transform: scaleX(-1);
}
.teaser .teaser--front .icon.icon--pfeil svg {
  width: 100%;
  height: 100%;
}
.teaser .teaser--front .icon.icon--pfeil svg [stroke] {
  stroke-width: 3;
}
.teaser .teaser--back {
  position: relative;
  background: #505450;
  transform: rotateY(180deg);
  z-index: 1;
}
.teaser .teaser--back > * {
  position: relative;
  z-index: 3;
}
.teaser .teaser--back .teaser--background::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  z-index: 2;
}
.teaser:hover .teaser--front {
  transform: rotateY(-180deg);
}
.teaser:hover .teaser--back {
  transform: rotateY(0deg);
}
.teaser:nth-child(even) .teaser--front {
  transform: rotateY(0deg);
}
.teaser:nth-child(even) .teaser--back {
  transform: rotateY(-180deg);
}
.teaser:nth-child(even):hover .teaser--front {
  transform: rotateY(180deg);
}
.teaser:nth-child(even):hover .teaser--back {
  transform: rotateY(0deg);
}
.teaser .teaser--title {
  color: #fff;
  text-transform: uppercase;
}
.teaser .teaser--title {
  margin-bottom: clamp(20px, 20px + 10 * (100vw - 768px) / 632, 30px);
}
.teaser .teaser--info {
  color: #fff;
}
.teaser .teaser--info ul {
  list-style: none;
  padding: 0;
  margin: 0;
  text-align: left;
}
.teaser .teaser--info ul li {
  display: flex;
  align-items: flex-start;
  margin-bottom: 10px;
}
.teaser .teaser--info ul li .icon {
  margin-right: 20px;
}
.teaser .teaser--info ul li .icon svg [stroke] {
  stroke-width: 4;
}
.teaser .teaser--bottom {
  position: absolute;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.teaser .teaser--bottom {
  left: clamp(40px, 40px + 20 * (100vw - 768px) / 632, 60px);
}
.teaser .teaser--bottom {
  right: clamp(40px, 40px + 20 * (100vw - 768px) / 632, 60px);
}
.teaser .teaser--bottom {
  bottom: clamp(40px, 40px + 20 * (100vw - 768px) / 632, 60px);
}
.teaser .teaser--bottom .teaser--logo {
  width: auto;
  height: 27px;
  flex-shrink: 0;
  position: relative;
  left: -30px;
}
.teaser .teaser--bottom .icon.icon--pfeil {
  display: flex;
  width: 32px;
  height: 32px;
}
.teaser .teaser--bottom .icon.icon--pfeil svg {
  width: 100%;
  height: 100%;
}
.teaser .teaser--bottom .icon.icon--pfeil svg [stroke] {
  stroke-width: 3;
}

[data-tooltip] {
  position: relative;
}
[data-tooltip]:hover:before, [data-tooltip]:hover:after, [data-tooltip]:active:before, [data-tooltip]:active:after {
  opacity: 1;
  visibility: visible;
}
[data-tooltip]:before, [data-tooltip]:after {
  display: block;
  content: "";
  position: absolute;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
}
[data-tooltip]:before {
  top: calc(100% + 2px);
  right: 50%;
  transform: translateX(50%);
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 6px solid #fff;
  z-index: 2;
}
[data-tooltip]:after {
  top: calc(100% + 8px);
  right: 50%;
  transform: translateX(21px);
  content: attr(data-tooltip);
  background: #fff;
  color: var(--text-color);
  padding: 10px;
  min-width: 150px;
  max-width: 250px;
  border-radius: 5px;
  font-style: normal;
  box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.2);
  font-size: 11px;
  line-height: 15px;
  z-index: 1;
}
[data-tooltip][data-tooltip-top]:before {
  top: auto;
  bottom: calc(100% + 2px);
  border-top: 6px solid #fff;
  border-bottom: none;
}
[data-tooltip][data-tooltip-top]:after {
  top: auto;
  bottom: calc(100% + 8px);
}
[data-tooltip][data-tooltip-left]:before {
  right: auto;
  left: 50%;
  transform: translateX(-50%);
}
[data-tooltip][data-tooltip-left]:after {
  right: auto;
  left: 50%;
  transform: translateX(-21px);
}

.alert {
  padding: 15px 20px;
  border-radius: 5px;
  font-weight: 600;
  margin-bottom: 30px;
}
.alert-success {
  background: #E6F4DA;
  color: #47AA63;
  border: 1px solid #47AA63;
}
.alert-danger {
  background: #F4DADA;
  color: #FF0000;
  border: 1px solid #FF0000;
}
.alert-info {
  background: #E8EAED;
  color: #505450;
  border: none;
}

.close-button {
  padding: 0;
  width: 48px;
  height: 50px;
  background: none;
  border: none;
  cursor: pointer;
}
.close-button:before {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: skew(-14deg);
  background: #fff;
  border-radius: 3px;
}
.close-button:before {
  filter: drop-shadow(0 0 15px rgba(0, 0, 0, 0.2));
}
.close-button:focus-visible {
  outline: 2px solid #000;
  border: 3px;
}
.close-button span:before, .close-button span:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 2px;
  background: #505450;
  border-radius: 2px;
}
.close-button span:before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.close-button span:after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

dialog {
  margin: 0;
  padding: 0;
  width: auto;
  max-width: none;
  height: auto;
  max-height: none;
  border: none;
  transition: display 0.3s allow-discrete, overlay 0.3s allow-discrete;
}
dialog::backdrop {
  background-color: rgba(80, 84, 80, 0.5);
}
dialog .dialog--close {
  display: flex;
  place-items: center;
  place-content: center;
  position: absolute;
  top: 0;
  right: 0;
  padding: 0;
  width: 40px;
  height: 40px;
  border: none;
  border-radius: 3px;
  background: none;
  cursor: pointer;
}
dialog .dialog--close:focus {
  outline: 2px solid #000;
}
dialog .dialog--close span {
  display: block;
  position: relative;
  width: 15px;
  height: 2px;
}
dialog .dialog--close span:before, dialog .dialog--close span:after {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #000;
  border-radius: 2px;
  transform-origin: 50% 50%;
}
dialog .dialog--close span:before {
  transform: rotate(-45deg);
}
dialog .dialog--close span:after {
  transform: rotate(45deg);
}
dialog .dialog--content {
  padding: 30px;
}
dialog .dialog--content h4, dialog .dialog--content .h4 {
  display: block;
  margin-bottom: 1em;
}
dialog, dialog::backdrop {
  animation: hideDialog 0.3s forwards;
}
dialog[open], dialog[open]::backdrop {
  animation: showDialog 0.3s forwards;
}
@keyframes showDialog {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes hideDialog {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

.loading-skeleton, .loading-skeleton.cols {
  display: none;
}
.loading .loading-skeleton, .htmx-request .loading-skeleton {
  display: grid;
}
.loading-skeleton--item {
  background: #E8EAED;
  border-radius: 5px;
  overflow: hidden;
}
.loading-skeleton--item .animate {
  background: linear-gradient(110deg, rgba(255, 255, 255, 0) 40%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0) 60%) rgba(0, 0, 0, 0.1);
  background-size: 200% 100%;
  background-position-x: 180%;
  border-radius: 3px;
  min-height: 1.2em;
  animation: 1.25s shine ease-in-out infinite;
}
.loading-skeleton--item--media.animate {
  border-radius: 0;
}
.loading-skeleton--item--media:before {
  display: block;
  content: "";
  width: 100%;
  height: 0;
  padding-bottom: 70%;
}
.loading-skeleton--item--wrap {
  padding: clamp(20px, 20px + 10 * (100vw - 768px) / 632, 30px);
}
.loading-skeleton--item--wrap {
  padding-top: clamp(30px, 30px + 10 * (100vw - 768px) / 632, 40px);
}
.loading-skeleton--item--wrap .animate + .animate {
  margin-top: 0.65em;
}
.loading-skeleton--item--title {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.25em;
  max-width: 90%;
}
.loading-skeleton--item--text .animate {
  margin-left: auto;
  margin-right: auto;
}
.loading-skeleton--item--text .animate:nth-child(2) {
  max-width: 85%;
}
.loading-skeleton--item--text .animate:nth-child(3) {
  max-width: 90%;
}

@keyframes shine {
  to {
    background-position-x: -20%;
  }
}
/*** IMPORT AREAS ***/
.area {
  margin-top: clamp(30px, 30px + 30 * (100vw - 768px) / 632, 60px);
}
.area {
  margin-bottom: clamp(30px, 30px + 30 * (100vw - 768px) / 632, 60px);
}
.area.margin-top--none {
  margin-top: 0;
}
.area.margin-top--tiny {
  margin-top: clamp(5px, 5px + 10 * (100vw - 768px) / 632, 15px);
}
.area.margin-top--small {
  margin-top: clamp(15px, 15px + 15 * (100vw - 768px) / 632, 30px);
}
.area.margin-top--medium {
  margin-top: clamp(30px, 30px + 30 * (100vw - 768px) / 632, 60px);
}
.area.margin-top--large {
  margin-top: clamp(50px, 50px + 50 * (100vw - 768px) / 632, 100px);
}
.area.margin-top--xlarge {
  margin-top: clamp(75px, 75px + 75 * (100vw - 768px) / 632, 150px);
}
.area.margin-top--giant {
  margin-top: clamp(90px, 90px + 110 * (100vw - 768px) / 632, 200px);
}
.area.margin-bottom--none {
  margin-bottom: 0;
}
.area.margin-bottom--tiny {
  margin-bottom: clamp(5px, 5px + 10 * (100vw - 768px) / 632, 15px);
}
.area.margin-bottom--small {
  margin-bottom: clamp(15px, 15px + 15 * (100vw - 768px) / 632, 30px);
}
.area.margin-bottom--medium {
  margin-bottom: clamp(30px, 30px + 30 * (100vw - 768px) / 632, 60px);
}
.area.margin-bottom--large {
  margin-bottom: clamp(50px, 50px + 50 * (100vw - 768px) / 632, 100px);
}
.area.margin-bottom--xlarge {
  margin-bottom: clamp(75px, 75px + 75 * (100vw - 768px) / 632, 150px);
}
.area.margin-bottom--giant {
  margin-bottom: clamp(90px, 90px + 110 * (100vw - 768px) / 632, 200px);
}
.area > *:first-child,
.area > .cols > .col > *:first-child {
  margin-top: 0;
}
.area > *:last-child,
.area > .cols > .col > *:last-child {
  margin-bottom: 0;
}
.area.is-narrow {
  margin-left: auto;
  margin-right: auto;
  max-width: 750px;
}
.area.full-width {
  position: relative;
  width: 100vw;
  width: calc(100vw - var(--scrollbarWidth));
  left: 50%;
  transform: translateX(-50%);
}
.area--thumbnail img, .area--thumbnail video {
  display: block;
  width: 100%;
  height: auto;
}

.area--header.special h1, .area--header.special .h1, .area--header.webcam h1, .area--header.webcam .h1 {
  position: relative;
  padding-bottom: 45px;
}
.area--header.special h1:before, .area--header.special .h1:before, .area--header.webcam h1:before, .area--header.webcam .h1:before {
  display: block;
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 160px;
  height: 5px;
  transform: translate(-50%, -15px);
  background-size: auto 1px;
  filter: brightness(0) saturate(100%) invert(32%) sepia(2%) saturate(474%) hue-rotate(202deg) brightness(96%) contrast(82%);
  pointer-events: none;
}
.area--header.special h1 .icon, .area--header.special .h1 .icon, .area--header.webcam h1 .icon, .area--header.webcam .h1 .icon {
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  font-size: 30px;
  pointer-events: none;
}
.area--header.special h1 .icon svg [stroke]:not([stroke=none]), .area--header.special .h1 .icon svg [stroke]:not([stroke=none]), .area--header.webcam h1 .icon svg [stroke]:not([stroke=none]), .area--header.webcam .h1 .icon svg [stroke]:not([stroke=none]) {
  stroke: #505450;
}
.area--header.special h1 .icon svg [fill]:not([fill=none]), .area--header.special .h1 .icon svg [fill]:not([fill=none]), .area--header.webcam h1 .icon svg [fill]:not([fill=none]), .area--header.webcam .h1 .icon svg [fill]:not([fill=none]) {
  fill: #505450;
}
.area--header.special h1.text-left:before, .area--header.special h1.text-right:before, .area--header.special .h1.text-left:before, .area--header.special .h1.text-right:before, .area--header.webcam h1.text-left:before, .area--header.webcam h1.text-right:before, .area--header.webcam .h1.text-left:before, .area--header.webcam .h1.text-right:before {
  transform: translate(0, -15px);
}
.area--header.special h1.text-left:before, .area--header.special .h1.text-left:before, .area--header.webcam h1.text-left:before, .area--header.webcam .h1.text-left:before {
  left: 0;
}
.area--header.special h1.text-left .icon, .area--header.special .h1.text-left .icon, .area--header.webcam h1.text-left .icon, .area--header.webcam .h1.text-left .icon {
  left: 70px;
}
.area--header.special h1.text-right:before, .area--header.special .h1.text-right:before, .area--header.webcam h1.text-right:before, .area--header.webcam .h1.text-right:before {
  left: auto;
  right: 0;
}
.area--header.special h1.text-right .icon, .area--header.special .h1.text-right .icon, .area--header.webcam h1.text-right .icon, .area--header.webcam .h1.text-right .icon {
  left: auto;
  right: 70px;
  transform: translateX(50%);
}
.area--header.special.large h1, .area--header.special.large .h1, .area--header.webcam.large h1, .area--header.webcam.large .h1 {
  font-size: var(--headline-h1-lg-size);
  text-transform: uppercase;
}
.area--header.special.no-icon h1, .area--header.special.no-icon .h1, .area--header.webcam.no-icon h1, .area--header.webcam.no-icon .h1 {
  padding-bottom: 0;
}
.area--header.special.no-icon h1:before, .area--header.special.no-icon .h1:before, .area--header.webcam.no-icon h1:before, .area--header.webcam.no-icon .h1:before {
  display: none;
}
.area--header.special.webcam h1 .icon svg [stroke]:not([stroke=none]), .area--header.special.webcam .h1 .icon svg [stroke]:not([stroke=none]), .area--header.webcam.webcam h1 .icon svg [stroke]:not([stroke=none]), .area--header.webcam.webcam .h1 .icon svg [stroke]:not([stroke=none]) {
  stroke: #D4D614;
}
.area--header.special.webcam h1 .icon svg [fill]:not([fill=none]), .area--header.special.webcam .h1 .icon svg [fill]:not([fill=none]), .area--header.webcam.webcam h1 .icon svg [fill]:not([fill=none]), .area--header.webcam.webcam .h1 .icon svg [fill]:not([fill=none]) {
  fill: #D4D614;
}

.area--text h1, .area--text h2, .area--text h3, .area--text h4, .area--text h5, .area--text h6,
.area--text .h1, .area--text .h2, .area--text .h3, .area--text .h4, .area--text .h5, .area--text .h6 {
  margin-bottom: 0.5em;
}
.area--text ul, .area--text ol {
  margin: 0 0 30px;
  padding: 0;
  list-style-type: none;
  font-weight: 600;
}
.area--text ul.font-weight-normal, .area--text ol.font-weight-normal {
  font-weight: 400;
}
.area--text ul.cols--3, .area--text ol.cols--3 {
  column-count: initial;
}
.area--text ul.cols--3 li, .area--text ol.cols--3 li {
  overflow: hidden;
}
.area--text ul ul, .area--text ul ol, .area--text ol ul, .area--text ol ol {
  margin: 0.7em 0;
}
.area--text ul li, .area--text ol li {
  position: relative;
  padding: 4px 0 3px 45px;
}
.area--text ul li:before, .area--text ul li:after, .area--text ol li:before, .area--text ol li:after {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
}
.area--text ul li:before, .area--text ol li:before {
  width: 30px;
  height: 30px;
  border-radius: 100%;
}
.area--text ul li:after, .area--text ol li:after {
  width: 40px;
  height: 40px;
  transform: translate(-5px, -5px);
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 40 40'%3E%3Ccircle cx='20' cy='20' r='19' stroke='%2358585A' stroke-dasharray='1 4' stroke-linejoin='round' opacity='.4'/%3E%3C/svg%3E") center no-repeat transparent;
  background-size: contain;
}
.area--text ul li + li, .area--text ol li + li {
  margin-top: 25px;
}
.area--text ul li ul, .area--text ul li ol, .area--text ol li ul, .area--text ol li ol {
  margin-top: 29px;
  margin-bottom: 0;
}
.area--text ul.small li, .area--text ol.small li {
  padding: 0 0 0 40px;
}
.area--text ul.small li:before, .area--text ol.small li:before {
  width: 25px;
  height: 25px;
}
.area--text ul.small li:after, .area--text ol.small li:after {
  width: 33px;
  height: 33px;
  transform: translate(-4px, -4px);
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 40 40'%3E%3Ccircle cx='20' cy='20' r='19' stroke='%2358585A' stroke-dasharray='1 4' stroke-linejoin='round' opacity='.4'/%3E%3C/svg%3E") center no-repeat transparent;
}
.area--text ul.small li + li, .area--text ol.small li + li {
  margin-top: 15px;
}
.area--text ul li:before {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M6.934 11.733 10.667 8 6.934 4.267'/%3E%3C/svg%3E") center no-repeat #D4D614;
  background-size: 16px;
}
.area--text ul.small li:before {
  background-size: 16px;
}
.area--text ol {
  counter-reset: custom-cnt;
}
.area--text ol li {
  counter-increment: custom-cnt;
}
.area--text ol li:before {
  display: flex;
  place-content: center;
  place-items: center;
  font-size: 18px;
  line-height: 1;
  font-weight: 600;
  content: counter(custom-cnt);
  background: #E8EAED;
}
.area--text ol.small li:before {
  font-size: 14px;
}
.area--text.text-center ul, .area--text.text-center ol, .area--text.text-right ul, .area--text.text-right ol {
  display: inline-block;
  text-align: left;
}
.area--text a:not(.btn) {
  color: var(--text-color);
  text-decoration: underline;
  transition: color 0.3s;
}
.area--text a:not(.btn)[target=_blank] {
  display: inline-block;
  position: relative;
  padding-right: 14px;
  color: var(--text-color--opac-60);
}
.area--text a:not(.btn)[target=_blank]:before {
  display: block;
  content: "";
  position: absolute;
  top: 1px;
  right: 0;
  width: 13px;
  height: 13px;
  background: url("data:image/svg+xml,%3Csvg viewBox='0 0 13 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3.46484 9.53322L9.53151 3.46655M9.53151 3.46655V8.92655M9.53151 3.46655H4.07151' stroke='%2358585A' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A") center no-repeat transparent;
  background-size: contain;
}
.area--text .btn:not(:last-child) {
  margin-bottom: 5px;
}
.area--text.more-btn-mobile.active .area--text--inner {
  max-height: none;
}
.area--text.more-btn-mobile.active .area--text--inner + .btn {
  display: none;
}
.area--text.more-btn-mobile .area--text--inner + .btn {
  display: none;
}
.area--text--wrap {
  position: relative;
  max-height: 270px;
  overflow: hidden;
}
.area--text--wrap:after {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 100px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #fff 100%);
  pointer-events: none;
  transition: opacity 0.3s, visibility 0.3s;
}
.area--text--buttons {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 30px;
}
.area--text.active .area--text--wrap {
  max-height: none;
}
.area--text.active .area--text--wrap:after {
  opacity: 0;
  visibility: hidden;
}
.area--text.active .area--text--buttons {
  display: none;
}

.area--textmedia .area--thumbnail {
  position: relative;
  overflow: hidden;
  border-radius: 5px;
}
.area--textmedia .area--thumbnail:before {
  display: block;
  content: "";
  width: 100%;
}
.area--textmedia .area--thumbnail img, .area--textmedia .area--thumbnail video {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.area--textmedia .area--thumbnail.no-object-fit:before {
  display: none;
}
.area--textmedia .area--thumbnail.no-object-fit img, .area--textmedia .area--thumbnail.no-object-fit video {
  position: static;
  height: auto;
  object-fit: initial;
}
.area--textmedia .area--text {
  padding: clamp(0px, 0px + 60 * (100vw - 768px) / 632, 60px);
}
.area--textmedia .area--text--inner > *:first-child {
  margin-top: 0;
}
.area--textmedia .area--text--inner > *:last-child {
  margin-bottom: 0;
}
.area--textmedia.full-width .area--thumbnail {
  border-radius: 0 5px 5px 0;
}
.area--textmedia.full-width .cols.thumbnail--right .area--thumbnail {
  border-radius: 5px 0 0 5px;
}

.area--media.full-width .cols--1 .area--thumbnail,
.area--media .cols.no-gutter .area--thumbnail {
  border-radius: 0;
}
.area--media.full-width .cols .area--thumbnail:first-child {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.area--media.full-width .cols .area--thumbnail:last-child {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.area--media .area--thumbnail {
  position: relative;
  margin: 0;
  border-radius: 5px;
  overflow: hidden;
}
.area--media .area--thumbnail--copyright {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 5px;
  background: rgba(255, 255, 255, 0.6);
  text-align: center;
}
.area--media.webcam img {
  max-width: 100%;
  width: 100%;
  height: auto;
}
.area--media.webcam .area--webcam-icon {
  display: flex;
  place-items: center;
  place-content: center;
  position: absolute;
  right: 0;
  padding: 10px;
  color: #fff;
  background-color: #D4D614;
  border-top-right-radius: 5px;
  z-index: 2;
}
.area--media.webcam .area--webcam-icon i {
  height: clamp(20px, 20px + 5 * (100vw - 768px) / 632, 25px);
}
.area--media.webcam .area--webcam-icon i {
  max-height: clamp(20px, 20px + 5 * (100vw - 768px) / 632, 25px);
}
.area--media.webcam .area--webcam-icon i {
  width: clamp(20px, 20px + 5 * (100vw - 768px) / 632, 25px);
}
.area--media.webcam .area--webcam-icon i svg [stroke]:not([stroke=none]) {
  stroke: #fff;
}
.area--media.webcam .area--webcam-icon i svg [fill]:not([fill=none]) {
  fill: #fff;
}
.area--media.webcam .area--thumbnail--copyright {
  text-align: left;
  padding: 20px;
  color: #fff;
  background: #505450;
}
.area--media.webcam .area--thumbnail--copyright {
  padding: clamp(15px, 15px + 10 * (100vw - 768px) / 632, 25px);
}

.pimcore_editable_video {
  aspect-ratio: 16/9;
}

.area--teaser {
  --min-teaser-width: max(280px, calc(100vw - 60px));
  /*** Teaser Grid ***/
  /*** Teaser Slider ***/
  /*** Teaser Bar ***/
}
.area--teaser.small {
  --min-teaser-width: max(360px, calc(100vw - 60px));
}
.area--teaser.full-width > .cols {
  padding-left: 30px;
  padding-right: 30px;
  margin-left: 0;
  margin-right: 0;
}
.area--teaser > .cols {
  margin-left: -30px;
  margin-right: -30px;
  padding: 30px;
}
.area--teaser > .cols {
  gap: clamp(15px, 15px + 15 * (100vw - 768px) / 632, 30px);
}
.area--teaser--bg {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
  background: #fff;
}
.area--teaser--bg img, .area--teaser--bg video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  mix-blend-mode: luminosity;
  opacity: 0.15;
}
.area--teaser--bg:before, .area--teaser--bg:after {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  z-index: 1;
}
.area--teaser--bg:before {
  background: linear-gradient(180deg, #fff 0%, rgba(255, 255, 255, 0) 50%, #fff 100%);
}
.area--teaser--bg:after {
  background-color: #A1B1EA;
  mix-blend-mode: color;
  opacity: 0.3;
}
.area--teaser--container.transitioning .teaser {
  transition: opacity 0.5s, transform 0.5s;
}
.area--teaser--container .teaser {
  align-self: start;
}
.area--teaser.area--teaser--grid {
  position: relative;
}
.area--teaser.area--teaser--grid:before {
  display: block;
  content: "";
  position: absolute;
  left: 50%;
  width: 100vw;
  height: 410px;
  transform: translateX(-50%);
  background: #E8EAED;
}
.area--teaser.area--teaser--grid:before {
  height: clamp(390px, 390px + 20 * (100vw - 768px) / 632, 410px);
}
.area--teaser.area--teaser--grid .area--teaser--container {
  display: grid;
  grid-template-columns: 100%;
  grid-auto-columns: initial;
  grid-auto-flow: initial;
  gap: 30px;
  position: relative;
  overflow: hidden;
}
.area--teaser.area--teaser--grid .area--teaser--categories {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 15px;
  padding: 0 6px;
}
.area--teaser.area--teaser--grid .area--teaser--categories {
  padding-top: clamp(40px, 40px + 60 * (100vw - 768px) / 632, 100px);
}
.area--teaser.area--teaser--grid .area--teaser--categories {
  padding-bottom: clamp(40px, 40px + 20 * (100vw - 768px) / 632, 60px);
}
.area--teaser.area--teaser--grid .area--teaser--categories .btn-outline.active {
  color: #fff;
}
.area--teaser.area--teaser--grid .area--teaser--categories .btn-outline.active:before {
  background: #505450;
}
.area--teaser.area--teaser--grid .teaser:not(.card) {
  height: 100%;
}
.area--teaser.area--teaser--slider {
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  width: calc(100vw - var(--scrollbarWidth));
}
.area--teaser.area--teaser--slider .area--header,
.area--teaser.area--teaser--slider .area--text {
  position: relative;
  z-index: 1;
}
.area--teaser.area--teaser--slider .area--teaser--slider--wrap {
  position: relative;
  z-index: 1;
}
.area--teaser.area--teaser--slider .area--teaser--container {
  grid-template-columns: initial;
  grid-auto-columns: min(100vw - 60px, 330px);
  grid-auto-flow: column;
  gap: 15px;
  position: relative;
  margin: 0;
  padding: 30px;
  scroll-padding-left: 30px;
  scroll-snap-type: x mandatory;
  overflow: visible;
  overflow-x: auto;
}
html:not([data-useragent*=Mobile]) .area--teaser.area--teaser--slider .area--teaser--container {
  scrollbar-width: initial;
  scrollbar-color: initial;
}
html:not([data-useragent*=Mobile]) .area--teaser.area--teaser--slider .area--teaser--container::-webkit-scrollbar {
  width: 3px;
  height: 3px;
}
html:not([data-useragent*=Mobile]) .area--teaser.area--teaser--slider .area--teaser--container::-webkit-scrollbar-track {
  background: transparent;
}
html:not([data-useragent*=Mobile]) .area--teaser.area--teaser--slider .area--teaser--container::-webkit-scrollbar-thumb {
  background-color: #E8EAED;
  border-radius: 5px;
  border: 0 solid transparent;
}
.area--teaser.area--teaser--slider .area--teaser--container .teaser {
  scroll-snap-align: start;
}
.area--teaser.area--teaser--slider .area--teaser--categories {
  display: flex;
  gap: 12px;
  position: relative;
  margin-bottom: -15px;
  padding: 15px 36px;
  overflow: hidden;
  overflow-x: auto;
  z-index: 2;
}
.area--teaser.area--teaser--slider .area--teaser--categories > button,
.area--teaser.area--teaser--slider .area--teaser--categories > a {
  display: flex;
  position: relative;
  align-items: center;
  padding: 0;
  font-family: var(--header-title-font-family);
  font-weight: var(--header-title-font-weight);
  line-height: 1;
  color: var(--text-color--opac-70);
  text-decoration: none;
  background: none transparent;
  border: none;
  cursor: pointer;
  white-space: nowrap;
}
.area--teaser.area--teaser--slider .area--teaser--categories > button,
.area--teaser.area--teaser--slider .area--teaser--categories > a {
  padding-left: clamp(20px, 20px + 10 * (100vw - 576px) / 416, 30px);
}
.area--teaser.area--teaser--slider .area--teaser--categories > button,
.area--teaser.area--teaser--slider .area--teaser--categories > a {
  padding-right: clamp(20px, 20px + 10 * (100vw - 576px) / 416, 30px);
}
.area--teaser.area--teaser--slider .area--teaser--categories > button,
.area--teaser.area--teaser--slider .area--teaser--categories > a {
  height: clamp(50px, 50px + 10 * (100vw - 576px) / 416, 60px);
}
.area--teaser.area--teaser--slider .area--teaser--categories > button,
.area--teaser.area--teaser--slider .area--teaser--categories > a {
  font-size: clamp(12px, 12px + 6 * (100vw - 576px) / 416, 18px);
}
.area--teaser.area--teaser--slider .area--teaser--categories > button:before,
.area--teaser.area--teaser--slider .area--teaser--categories > a:before {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: skew(-14deg);
  background: #fff;
  border-radius: 5px;
}
.area--teaser.area--teaser--slider .area--teaser--categories > button:focus-visible,
.area--teaser.area--teaser--slider .area--teaser--categories > a:focus-visible {
  outline: 2px solid #000;
  border-radius: 3px;
}
.area--teaser.area--teaser--slider .area--teaser--categories > button.active,
.area--teaser.area--teaser--slider .area--teaser--categories > a.active {
  color: var(--text-color);
}
.area--teaser.area--teaser--slider .area--teaser--categories > button.active:before,
.area--teaser.area--teaser--slider .area--teaser--categories > a.active:before {
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.2);
}
.area--teaser.area--teaser--slider .area--teaser--categories > button.active:after,
.area--teaser.area--teaser--slider .area--teaser--categories > a.active:after {
  width: 30px;
  border-color: #D4D614;
  opacity: 1;
}
.area--teaser.area--teaser--slider .area--teaser--categories > button:before,
.area--teaser.area--teaser--slider .area--teaser--categories > a:before {
  box-shadow: 0 0 1px #505450;
  transition: opacity 0.3s, background-color 0.3s, border-color 0.3s, box-shadow 0.3s;
  z-index: -1;
}
.area--teaser.area--teaser--slider .area--teaser--categories > button:after,
.area--teaser.area--teaser--slider .area--teaser--categories > a:after {
  display: block;
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 15px;
  border-bottom: 3px solid #505450;
  transform: translateX(-50%);
  opacity: 0.5;
  transition: width 0.3s, border-color 0.3s, opacity 0.3s;
}
.area--teaser.area--teaser--slider .teaser:not(.card) {
  height: 100%;
}
.area--teaser.area--teaser--bar {
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  width: calc(100vw - var(--scrollbarWidth));
  padding-bottom: 120px;
}
.area--teaser.area--teaser--bar:after {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 200px;
  background-color: #D4D614;
  pointer-events: none;
  z-index: 0;
}
.montafon .area--teaser.area--teaser--bar:after {
  background-image: url(../images/layout/wooden_bar.png);
  background-size: auto 60px;
  background-repeat: repeat-x;
  background-position: left 0 top calc(100% - 40px);
}
.area--teaser.area--teaser--bar .area--header,
.area--teaser.area--teaser--bar .area--text {
  position: relative;
  z-index: 1;
  padding: 0 30px;
}
.area--teaser.area--teaser--bar .area--teaser--slider--wrap {
  position: relative;
  z-index: 1;
}
.area--teaser.area--teaser--bar .area--teaser--container {
  position: relative;
}
.area--teaser.area--teaser--bar .area--teaser--slider--nav {
  position: absolute;
  left: 30px;
  top: 50%;
  right: 30px;
  pointer-events: none;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.3s, visibility 0.3s;
}
.area--teaser.area--teaser--bar .area--teaser--slider--nav button {
  position: absolute;
  top: 50%;
  width: 50px;
  height: 50px;
  border: none;
  border-radius: 100%;
  background-size: 30px 30px;
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.2);
  cursor: pointer;
  pointer-events: auto;
  transition: transform 0.3s, box-shadow 0.3s;
}
.area--teaser.area--teaser--bar .area--teaser--slider--nav button.prev {
  left: 0;
  transform: translate(-50%, -50%) rotateZ(180deg);
}
.area--teaser.area--teaser--bar .area--teaser--slider--nav button.next {
  right: 0;
  transform: translate(50%, -50%);
}
.area--teaser.area--teaser--bar .area--teaser--container {
  grid-template-columns: initial;
  grid-auto-columns: min(100vw - 70px, 320px);
  grid-auto-flow: column;
  gap: 15px;
  position: relative;
  margin: 0;
  padding: 30px 40px 30px 30px;
  scroll-padding-left: 30px;
  scroll-snap-type: x mandatory;
  overflow: visible;
  overflow-x: auto;
}
html:not([data-useragent*=Mobile]) .area--teaser.area--teaser--bar .area--teaser--container {
  scrollbar-width: initial;
  scrollbar-color: initial;
}
html:not([data-useragent*=Mobile]) .area--teaser.area--teaser--bar .area--teaser--container::-webkit-scrollbar {
  width: 3px;
  height: 3px;
}
html:not([data-useragent*=Mobile]) .area--teaser.area--teaser--bar .area--teaser--container::-webkit-scrollbar-track {
  background: transparent;
}
html:not([data-useragent*=Mobile]) .area--teaser.area--teaser--bar .area--teaser--container::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.15);
  border-radius: 5px;
  border: 0 solid transparent;
}
.area--teaser.area--teaser--bar .area--teaser--container .teaser {
  scroll-snap-align: start;
}

.content--container {
  margin-left: 150px;
  display: flex;
  flex-direction: row;
}
.content--container .text .lead {
  font-size: clamp(20px, 20px + 15 * (100vw - 768px) / 632, 35px);
}
.content--container .text .lead {
  line-height: clamp(30px, 30px + 20 * (100vw - 768px) / 632, 50px);
}
.content--container .text--small {
  display: flex;
  flex-direction: row;
  gap: 60px;
  margin-top: 60px;
  margin-bottom: 60px;
}
.content--container .text--small .icon.icon--pfeil {
  margin-top: 8px;
}
.content--container .text--small svg {
  width: 40px;
  height: 40px;
}
.content--container .image {
  position: relative;
  margin-top: -70px;
}
.content--container .image svg {
  width: 1000px;
  height: 870px;
}

.area--cols > .cols > .col > .area:first-child {
  margin-top: 0;
}
.area--cols > .cols > .col > .area:last-child {
  margin-bottom: 0;
}

.area--embed .embera-embed-responsive {
  position: relative;
  width: 100%;
  height: 0;
}
.area--embed .embera-embed-responsive {
  padding-bottom: 66.66666%;
}
.area--embed .embera-embed-responsive-video {
  padding-bottom: 56.25%;
}
.area--embed .embera-embed-responsive-provider-fallback {
  padding: 0;
  height: auto;
}
.area--embed .embera-embed-responsive:not(.embera-embed-responsive-provider-fallback) .embera-embed-responsive, .area--embed .embera-embed-responsive:not(.embera-embed-responsive-provider-fallback) iframe {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.area--embed .embera-embed-responsive iframe {
  border: none;
}
.area--embed .infobox--title + .small {
  margin-top: clamp(-20px, -10px + -10 * (100vw - 768px) / 632, -10px);
}
.area--embed .infobox .small {
  font-size: 0.8em;
  line-height: 1.33333;
}
.area--embed .infobox .small p {
  margin-bottom: 15px;
}
.area--embed .infobox a {
  text-decoration: underline;
  transition: opacity 0.3s;
}
.area--embed .infobox hr {
  border-color: rgba(0, 0, 0, 0.1);
}
.area--embed .infobox .btn {
  margin-top: 15px;
  text-transform: none;
}
.area--embed .infobox--title a {
  text-decoration: none;
}

.area--anchor-nav ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  list-style-type: none;
  margin: 0;
  padding: 15px 0;
}
.area--anchor-nav ul {
  row-gap: clamp(20px, 20px + 10 * (100vw - 768px) / 632, 30px);
}
.area--anchor-nav ul li {
  display: flex;
  align-items: center;
  line-height: 1;
}
.area--anchor-nav ul li {
  font-size: clamp(23px, 23px + 7 * (100vw - 768px) / 632, 30px);
}
.area--anchor-nav ul li + li:before {
  display: block;
  content: "";
  width: 1em;
  height: 1px;
  background-size: auto 100%;
  transform: rotateZ(-76deg);
  opacity: 0.3;
}
.area--anchor-nav ul li a:not(.btn) {
  display: block;
  padding: 5px 15px;
  font-family: var(--font-family-special);
  font-weight: 600;
  color: var(--text-color);
  text-decoration: none;
  transition: color 0.3s;
}

.area--tabs .tab-nav.is-hidden,
.area--tabs .tab-content.is-hidden {
  display: none;
}
.area--tabs .tab-nav {
  display: flex;
  gap: 15px;
  scroll-padding: 30px;
  padding: 15px 30px;
  width: 100vw;
  width: calc(100vw - var(--scrollbarWidth));
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  overflow-x: auto;
}
.area--tabs .tab-nav .btn-outline {
  white-space: nowrap;
}
.area--tabs .tab-nav .btn-outline[aria-selected=true] {
  color: #fff;
}
.area--tabs .tab-nav .btn-outline[aria-selected=true]:before {
  background: #505450;
}
@media (min-width: 576px) {
  .main-nav {
    padding-top: 60px;
    width: 400px;
  }
  .main-nav:before {
    display: block;
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    background: #fff;
    z-index: -1;
  }
  .cols--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .cols--2.ratio--25-75 {
    grid-template-columns: 25% 75%;
  }
  .cols--2.ratio--40-60 {
    grid-template-columns: 40% 60%;
  }
  .cols--2.ratio--60-40 {
    grid-template-columns: 60% 40%;
  }
  .cols--2.ratio--75-25 {
    grid-template-columns: 75% 25%;
  }
  .cols .col--2 {
    grid-column: auto/span 2;
  }
  .alert {
    margin-bottom: 50px;
    padding: 30px;
  }
  .area--text ul.cols--3, .area--text ol.cols--3 {
    column-count: 2;
  }
  .area--textmedia .cols.thumbnail--right > *:first-child {
    order: 2;
  }
  .area--textmedia .cols.thumbnail--right > *:last-child {
    order: 1;
  }
  .area--teaser {
    --min-teaser-width: 280px;
  }
  .area--teaser.small {
    --min-teaser-width: 360px;
  }
  .area--teaser.area--teaser--bar .area--teaser--container {
    gap: 30px;
  }
}
@media (min-width: 576px) and (max-width: 1199.98px) {
  .cols--4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .cols .col--4 {
    grid-column: auto/span 2;
  }
}
@media (min-width: 576px) and (max-width: 767.98px) {
  .main-nav--list > li > .main-nav--subnav-toggle {
    right: 30px;
  }
  .cols--3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .cols--5 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .cols--6 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .cols .col--3 {
    grid-column: auto/span 2;
  }
  .cols .col--5 {
    grid-column: auto/span 2;
  }
  .cols .col--6 {
    grid-column: auto/span 2;
  }
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .main-nav--list > li.has-subpages:hover:before {
    opacity: 1;
  }
  .main-nav--list > li > a:hover {
    padding: 0 70px 0 90px;
  }
  .main-nav--list > li:hover > ul {
    transform: translateX(0);
    opacity: 1;
    visibility: visible;
    transition-delay: 0s;
    z-index: -2;
  }
}
@media (min-width: 768px) {
  html {
    scroll-padding-top: 150px;
  }
  .page-header {
    padding-top: 60px;
    min-height: 250px;
  }
  .page-header--top {
    gap: 30px;
    position: absolute;
    left: 30px;
    top: 0;
    right: 30px;
    height: 60px;
  }
  .page-header--top .logo {
    transform: none;
  }
  .page-header--top .logo {
    left: clamp(25px, 25px + 40 * (100vw - 768px) / 632, 65px);
  }
  html.scroll-direction--scrolled-further .page-header--top .logo {
    left: clamp(40px, 40px + 40 * (100vw - 768px) / 632, 80px);
  }
  .page-header--top > a:not(.logo) {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 16px;
    letter-spacing: 0.05em;
    color: #505450;
    transition: color 0.3s;
  }
  .page-header--top > a:not(.logo) .icon {
    font-size: 20px;
  }
  .page-header--top > a:not(.logo) .icon svg [stroke]:not([stroke=none]) {
    stroke: #505450;
  }
  .page-header--top > a:not(.logo) .icon svg [fill]:not([fill=none]) {
    fill: #505450;
  }
  .page-header--top > a:not(.logo) .icon svg [stroke] {
    transition: stroke 0.3s;
  }
  .page-header--top > a:not(.logo) .icon svg [fill] {
    transition: fill 0.3s;
  }
  .header-media--image-mobile {
    display: none;
  }
  .main-content > .container {
    padding-left: clamp(40px, 40px + 40 * (100vw - 768px) / 632, 80px);
  }
  .main-content > .container {
    padding-right: clamp(40px, 40px + 40 * (100vw - 768px) / 632, 80px);
  }
  .main-content > .container {
    max-width: clamp(1260px, 1260px + 40 * (100vw - 768px) / 632, 1300px);
  }
  .container {
    padding-left: 100px;
    padding-right: 100px;
  }
  .main-nav .logo {
    display: none;
  }
  .main-nav--list {
    padding: 40px 0 50px;
  }
  .main-nav--list > li.has-subpages {
    display: flex;
    align-items: flex-start;
  }
  .main-nav--list > li.has-subpages > a {
    flex: 0 0 100%;
  }
  .main-nav--list > li.active > a, .main-nav--list > li.accessible-menu--has-submenu-open > a {
    padding: 0 70px 0 90px;
  }
  .main-nav--list > li.has-subpages:before {
    display: block;
    content: "";
    position: absolute;
    transform: translate(-100%, 25px);
    border-right: 15px solid #fff;
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.3s;
  }
  .main-nav--list > li > a {
    padding: 0 80px;
    height: 80px;
  }
  .main-nav--list > li > a:after {
    left: 80px;
    right: 80px;
  }
  .main-nav--list > li > a span {
    margin-bottom: 5px;
  }
  .main-nav--list > li > a span:before {
    left: 82px;
    top: 21px;
  }
  .main-nav--list > li > a span:empty {
    top: 9px;
  }
  .main-nav--list > li > a strong {
    font-size: 23px;
  }
  .main-nav--list > li > .main-nav--subnav-toggle {
    position: relative;
    top: auto;
    right: auto;
    flex: 0 0 40px;
    transform: translate(calc(-100% - 40px), 20px);
  }
  .main-nav--list > li ul.accessible-menu__submenu--open {
    transform: translateX(0);
    opacity: 1;
    visibility: visible;
    max-height: none;
    z-index: -2;
  }
  .main-nav--list > li > ul {
    gap: 10px;
    position: absolute;
    top: 0;
    right: 100%;
    padding: 305px 60px 60px;
    width: 550px;
    max-width: calc(100vw - 400px - var(--scrollbarWidth));
    height: 100%;
    max-height: none;
    transform: translateX(101%);
    overflow: hidden;
    overflow-y: auto;
    opacity: 0;
    visibility: hidden;
    transition: transform 0.5s, opacity 0.3s, visibility 0.3s;
    transition-delay: 0.2s;
    scrollbar-width: initial;
    z-index: -3;
  }
  .main-nav--list > li > ul {
    padding-left: clamp(30px, 30px + 30 * (100vw - 768px) / 224, 60px);
  }
  .main-nav--list > li > ul {
    padding-right: clamp(30px, 30px + 30 * (100vw - 768px) / 224, 60px);
  }
  html:not([data-useragent*=Mobile]) .main-nav--list > li > ul {
    scrollbar-width: initial;
    scrollbar-color: initial;
  }
  html:not([data-useragent*=Mobile]) .main-nav--list > li > ul::-webkit-scrollbar {
    width: 9px;
    height: 9px;
  }
  html:not([data-useragent*=Mobile]) .main-nav--list > li > ul::-webkit-scrollbar-track {
    background: #e0e0e0;
  }
  html:not([data-useragent*=Mobile]) .main-nav--list > li > ul::-webkit-scrollbar-thumb {
    background-color: rgba(80, 84, 80, 0.6);
    border-radius: 5px;
    border: 3px solid #e0e0e0;
  }
  .main-nav--list > li > ul > li:first-child {
    margin-top: 0;
  }
  .main-nav--list > li > ul > li:last-child {
    margin-bottom: 0;
  }
  .main-nav--list > li > ul > li > a {
    min-height: 80px;
    font-size: 20px;
  }
  .main-nav--list > li > ul > li > a .subnav-img {
    height: 100px;
  }
  .main-nav--list > li > ul > li > .main-nav--subnav-toggle {
    top: 30px;
  }
  .main-nav--list > li > ul > li > .main-nav--subnav-toggle {
    right: clamp(15px, 15px + 15 * (100vw - 768px) / 224, 30px);
  }
  .main-nav--list > li > ul > li.no-img > .main-nav--subnav-toggle {
    top: 20px;
  }
  .main-nav--bottom {
    display: none;
  }
  .main-nav .main-nav--toggle, .login .main-nav--toggle {
    top: 35px;
  }
  .lang-nav--list {
    gap: 18px;
    padding: 0 20px;
  }
  .lang-nav--list li + li:before {
    top: 2px;
    left: -9px;
    height: calc(100% - 4px);
  }
  .lang-nav--list a {
    padding: 0 9px;
    height: 40px;
    line-height: 40px;
    font-size: 16px;
  }
  .cols {
    grid-column-gap: 30px;
    grid-row-gap: 30px;
  }
  .cols .col--3 {
    grid-column: auto/span 3;
  }
  table.contenttable th,
  table.contenttable td,
  .area--text table th,
  .area--text table td,
  .area--table table th,
  .area--table table td {
    min-width: 0;
  }
  .area--header.special h1, .area--header.special .h1, .area--header.webcam h1, .area--header.webcam .h1 {
    padding-bottom: 60px;
  }
  .area--header.special h1:before, .area--header.special .h1:before, .area--header.webcam h1:before, .area--header.webcam .h1:before {
    width: 320px;
    transform: translate(-50%, -20px);
    mask-size: 60px 60px;
  }
  .area--header.special h1 .icon, .area--header.special .h1 .icon, .area--header.webcam h1 .icon, .area--header.webcam .h1 .icon {
    font-size: 40px;
  }
  .area--header.special h1.text-left:before, .area--header.special h1.text-right:before, .area--header.special .h1.text-left:before, .area--header.special .h1.text-right:before, .area--header.webcam h1.text-left:before, .area--header.webcam h1.text-right:before, .area--header.webcam .h1.text-left:before, .area--header.webcam .h1.text-right:before {
    transform: translate(0, -20px);
  }
  .area--header.special h1.text-left .icon, .area--header.special .h1.text-left .icon, .area--header.webcam h1.text-left .icon, .area--header.webcam .h1.text-left .icon {
    left: 160px;
  }
  .area--header.special h1.text-right .icon, .area--header.special .h1.text-right .icon, .area--header.webcam h1.text-right .icon, .area--header.webcam .h1.text-right .icon {
    right: 160px;
  }
  .area--text ul li, .area--text ol li {
    padding: 9px 0 8px 60px;
  }
  .area--text ul li:before, .area--text ol li:before {
    width: 40px;
    height: 40px;
  }
  .area--text ul li:after, .area--text ol li:after {
    width: 50px;
    height: 50px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 50 50'%3E%3Ccircle cx='25' cy='25' r='24' stroke='%2358585A' stroke-dasharray='1 4' stroke-linejoin='round' opacity='.4'/%3E%3C/svg%3E");
  }
  .area--text ul li + li, .area--text ol li + li {
    margin-top: 30px;
  }
  .area--text ul li ul, .area--text ul li ol, .area--text ol li ul, .area--text ol li ol {
    margin-top: 38px;
  }
  .area--text ul li:before {
    background-size: 22px;
  }
  .area--text--wrap {
    max-height: 242px;
  }
  .area--teaser.full-width > .cols {
    padding-left: clamp(60px, 60px + 20 * (100vw - 768px) / 632, 80px);
  }
  .area--teaser.full-width > .cols {
    padding-right: clamp(60px, 60px + 20 * (100vw - 768px) / 632, 80px);
  }
  .area--teaser > .cols {
    margin-left: -60px;
    margin-right: -60px;
    padding: 30px 60px;
  }
  .area--teaser.area--teaser--grid .area--teaser--container:only-child {
    padding-top: clamp(70px, 70px + 20 * (100vw - 768px) / 632, 90px);
  }
  .area--teaser.area--teaser--grid .area--teaser--container.cols--2, .area--teaser.area--teaser--grid .area--teaser--container.cols--3, .area--teaser.area--teaser--grid .area--teaser--container.cols--4, .area--teaser.area--teaser--grid .area--teaser--container.cols--5, .area--teaser.area--teaser--grid .area--teaser--container.cols--6 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .area--teaser.area--teaser--grid .area--teaser--container.cols--3, .area--teaser.area--teaser--grid .area--teaser--container.cols--4, .area--teaser.area--teaser--grid .area--teaser--container.cols--5, .area--teaser.area--teaser--grid .area--teaser--container.cols--6 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .area--teaser.area--teaser--grid .area--teaser--container.cols--4, .area--teaser.area--teaser--grid .area--teaser--container.cols--5, .area--teaser.area--teaser--grid .area--teaser--container.cols--6 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .area--teaser.area--teaser--grid .area--teaser--categories {
    justify-content: start;
  }
  .area--teaser.area--teaser--slider .area--teaser--container {
    gap: 30px;
  }
  .area--teaser.area--teaser--slider .area--teaser--container.cols--2 {
    grid-auto-columns: clamp(480px, 480px + 465 * (100vw - 1200px) / 720, 945px);
  }
  .area--teaser.area--teaser--slider .area--teaser--container.cols--3 {
    grid-auto-columns: clamp(360px, 360px + 260 * (100vw - 1200px) / 720, 620px);
  }
  .area--teaser.area--teaser--slider .area--teaser--container.cols--4 {
    grid-auto-columns: clamp(360px, 360px + 97.5 * (100vw - 1200px) / 720, 457.5px);
  }
  .area--teaser.area--teaser--slider .area--teaser--container.cols--5, .area--teaser.area--teaser--slider .area--teaser--container.cols--6 {
    grid-auto-columns: 360px;
  }
  .area--teaser.area--teaser--bar {
    padding-bottom: 155px;
  }
  .area--teaser.area--teaser--bar:after {
    height: 255px;
  }
  .montafon .area--teaser.area--teaser--bar:after {
    background-size: auto 70px;
    background-position: left 0 top calc(100% - 50px);
  }
  .area--teaser.area--teaser--bar .area--teaser--slider--wrap {
    margin-left: auto;
    margin-right: auto;
  }
  .area--teaser.area--teaser--bar .area--teaser--slider--wrap {
    padding-left: clamp(60px, 60px + 20 * (100vw - 768px) / 632, 80px);
  }
  .area--teaser.area--teaser--bar .area--teaser--slider--wrap {
    padding-right: clamp(60px, 60px + 20 * (100vw - 768px) / 632, 80px);
  }
  .area--teaser.area--teaser--bar .area--teaser--slider--wrap {
    max-width: clamp(1260px, 1260px + 40 * (100vw - 768px) / 632, 1300px);
  }
  .area--teaser.area--teaser--bar .area--teaser--slider--nav {
    left: clamp(60px, 60px + 20 * (100vw - 768px) / 632, 80px);
  }
  .area--teaser.area--teaser--bar .area--teaser--slider--nav {
    right: clamp(60px, 60px + 20 * (100vw - 768px) / 632, 80px);
  }
  .area--teaser.area--teaser--bar .area--teaser--slider--nav button {
    width: 60px;
    height: 60px;
    background-size: 40px 40px;
  }
  .area--teaser.area--teaser--bar .area--teaser--container {
    margin: 0 0 0 -30px;
    padding: 30px;
  }
  .area--teaser.area--teaser--bar .area--teaser--container.cols--2 {
    grid-auto-columns: calc(50vw - calc(75px + 20 * (100vw - 768px) / 632));
  }
  .area--teaser.area--teaser--bar .area--teaser--container.cols--3, .area--teaser.area--teaser--bar .area--teaser--container.cols--4, .area--teaser.area--teaser--bar .area--teaser--container.cols--5, .area--teaser.area--teaser--bar .area--teaser--container.cols--6 {
    grid-auto-columns: calc(50vw - calc(75px + 20 * (100vw - 768px) / 632));
  }
  .area--anchor-nav ul li + li:before {
    margin: 0 5px;
  }
  .area--tabs .tab-nav {
    overflow-x: initial;
    width: 100%;
    transform: initial;
    left: auto;
    justify-content: center;
    flex-wrap: wrap;
  }
}
@media (min-width: 768px) and (hover: hover) and (pointer: fine) {
  .page-header--top > a:not(.logo):hover {
    color: #D4D614;
  }
  .page-header--top > a:not(.logo):hover .icon svg [stroke]:not([stroke=none]) {
    stroke: #D4D614;
  }
  .page-header--top > a:not(.logo):hover .icon svg [fill]:not([fill=none]) {
    fill: #D4D614;
  }
}
@media (min-width: 768px) and (max-width: 1399.98px) {
  .cols--5 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .cols .col--5 {
    grid-column: auto/span 3;
  }
}
@media (min-width: 768px) and (max-width: 1599.98px) {
  .cols--6 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .cols .col--6 {
    grid-column: auto/span 3;
  }
}
@media screen and (min-width: 768px) and (max-width: 1500px) {
  .footer--infos {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (hover: hover) and (pointer: fine) and (min-width: 992px) {
  .area--teaser.area--teaser--slider .area--teaser--categories > button:hover,
  .area--teaser.area--teaser--slider .area--teaser--categories > a:hover {
    padding-left: 70px;
    padding-right: 20px;
  }
  .area--teaser.area--teaser--slider .area--teaser--categories > button:hover:before,
  .area--teaser.area--teaser--slider .area--teaser--categories > a:hover:before {
    background: #fff;
    border-color: #D4D614;
    box-shadow: 0 0 30px rgba(0, 0, 0, 0.2);
    opacity: 1;
  }
}
@media (min-width: 992px) {
  h1, h2, h3, h4, h5, h6,
  .h1, .h2, .h3, .h4, .h5, .h6 {
    word-break: normal;
  }
  hr {
    margin-top: 3.3333333333rem;
    margin-bottom: 3.3333333333rem;
  }
  .page-header--top {
    gap: 40px;
  }
  .footer--infos--links {
    margin-top: 3.3333333333rem;
    margin-bottom: 3.3333333333rem;
  }
  .main-nav--list > li.quicklink {
    display: none;
  }
  .cols--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .cols--3.ratio--50-25-25 {
    grid-template-columns: 50% 25% 25%;
  }
  .cols--3.ratio--25-50-25 {
    grid-template-columns: 25% 50% 25%;
  }
  .cols--3.ratio--25-25-50 {
    grid-template-columns: 25% 25% 50%;
  }
  .area--text ul.cols--3, .area--text ol.cols--3 {
    column-count: 3;
  }
  .area--teaser.area--teaser--slider .area--teaser--slider--wrap {
    display: flex;
    margin-top: -10px;
  }
  .area--teaser.area--teaser--slider .area--teaser--slider--wrap {
    gap: clamp(30px, 30px + 50 * (100vw - 768px) / 632, 80px);
  }
  .area--teaser.area--teaser--slider .area--teaser--container {
    margin: 0 0 0 -30px;
  }
  .area--teaser.area--teaser--slider .area--teaser--container:only-child {
    margin-left: 0;
  }
  .area--teaser.area--teaser--slider .area--teaser--container:only-child {
    padding-left: clamp(60px, 60px + 20 * (100vw - 768px) / 632, 80px);
  }
  .area--teaser.area--teaser--slider .area--teaser--container:only-child {
    scroll-padding-left: clamp(60px, 60px + 20 * (100vw - 768px) / 632, 80px);
  }
  .area--teaser.area--teaser--slider .area--teaser--categories {
    display: block;
    flex: 0 0 auto;
    margin: 0;
    padding: 30px 0 0;
    overflow: visible;
  }
  .area--teaser.area--teaser--slider .area--teaser--categories {
    flex-basis: clamp(360px, 360px + 145 * (100vw - 768px) / 1152, 505px);
  }
  .area--teaser.area--teaser--slider .area--teaser--categories {
    padding-left: clamp(60px, 60px + 20 * (100vw - 768px) / 632, 80px);
  }
  .area--teaser.area--teaser--slider .area--teaser--categories {
    padding-right: 20px;
  }
  .area--teaser.area--teaser--slider .area--teaser--categories > button,
  .area--teaser.area--teaser--slider .area--teaser--categories > a {
    padding-left: 60px;
    padding-right: 30px;
    width: 100%;
    font-size: 23px;
    transition: background-color 0.3s, color 0.3s, padding 0.3s;
  }
  .area--teaser.area--teaser--slider .area--teaser--categories > button,
  .area--teaser.area--teaser--slider .area--teaser--categories > a {
    height: clamp(80px, 80px + 20 * (100vw - 992px) / 208, 100px);
  }
  .area--teaser.area--teaser--slider .area--teaser--categories > button.active,
  .area--teaser.area--teaser--slider .area--teaser--categories > a.active {
    padding-left: 70px;
    padding-right: 20px;
  }
  .area--teaser.area--teaser--slider .area--teaser--categories > button.active:before,
  .area--teaser.area--teaser--slider .area--teaser--categories > a.active:before {
    background: #fff;
    border-color: #D4D614;
    box-shadow: 0 0 30px rgba(0, 0, 0, 0.2);
    opacity: 1;
  }
  .area--teaser.area--teaser--slider .area--teaser--categories > button:before,
  .area--teaser.area--teaser--slider .area--teaser--categories > a:before {
    left: 12px;
    border-left: 7px solid #505450;
    border-radius: 0 5px 5px 0;
    background-color: transparent;
    box-shadow: none;
    opacity: 0.5;
  }
  .area--teaser.area--teaser--slider .area--teaser--categories > button:after,
  .area--teaser.area--teaser--slider .area--teaser--categories > a:after {
    display: none;
  }
  .area--teaser.area--teaser--slider .area--teaser--categories > button + button,
  .area--teaser.area--teaser--slider .area--teaser--categories > button + a,
  .area--teaser.area--teaser--slider .area--teaser--categories > a + button,
  .area--teaser.area--teaser--slider .area--teaser--categories > a + a {
    margin-top: 15px;
  }
  .area--teaser.area--teaser--bar .area--teaser--container.cols--2 {
    grid-auto-columns: min((100vw - calc(150px + 40 * (100vw - 768px) / 632) - var(--scrollbarWidth)) / 2, 555px);
  }
  .area--teaser.area--teaser--bar .area--teaser--container.cols--3, .area--teaser.area--teaser--bar .area--teaser--container.cols--4, .area--teaser.area--teaser--bar .area--teaser--container.cols--5, .area--teaser.area--teaser--bar .area--teaser--container.cols--6 {
    grid-auto-columns: min((100vw - calc(180px + 40 * (100vw - 768px) / 632) - var(--scrollbarWidth)) / 3, 360px);
  }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
  .cols .col--6 {
    grid-column: auto/span 4;
  }
}
@media (min-width: 1200px) {
  .cols--4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .cols--4.ratio--40-20-20-20 {
    grid-template-columns: 40% 20% 20% 20%;
  }
  .cols--4.ratio--20-40-20-20 {
    grid-template-columns: 20% 40% 20% 20%;
  }
  .cols--4.ratio--20-20-40-20 {
    grid-template-columns: 20% 20% 40% 20%;
  }
  .cols--4.ratio--20-20-20-40 {
    grid-template-columns: 20% 20% 20% 40%;
  }
  .cols .col--4 {
    grid-column: auto/span 4;
  }
  .area--teaser.area--teaser--bar .area--teaser--container.cols--4, .area--teaser.area--teaser--bar .area--teaser--container.cols--5, .area--teaser.area--teaser--bar .area--teaser--container.cols--6 {
    grid-auto-columns: min((100vw - calc(230px + 20 * (100vw - 768px) / 632) - var(--scrollbarWidth)) / 4, 262.5px);
  }
}
@media (min-width: 1400px) {
  .cols--5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .cols .col--5 {
    grid-column: auto/span 5;
  }
  .area--teaser.area--teaser--grid:before {
    width: calc(100vw - var(--scrollbarWidth) - 100px - (20px + 140 * (100vw - 1400px) / 520));
    transform: translateX(-50%) skew(-14deg);
    border-radius: 5px;
  }
}
@media (min-width: 1600px) {
  .cols--6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .cols .col--6 {
    grid-column: auto/span 6;
  }
  .teaser--container {
    padding-left: 300px;
    padding-right: 300px;
  }
  .teaser .teaser--bottom .teaser--logo {
    height: 30px;
  }
  .area--textmedia.full-width .area--text {
    padding-right: clamp(60px, 60px + 100 * (100vw - 1600px) / 320, 160px);
  }
  .area--textmedia.full-width .cols.thumbnail--right .area--text {
    padding-right: 60px;
  }
  .area--textmedia.full-width .cols.thumbnail--right .area--text {
    padding-left: clamp(60px, 60px + 100 * (100vw - 1600px) / 320, 160px);
  }
  .content--container {
    margin-left: 300px;
  }
  .content--container .text .lead {
    padding-top: 100px;
    margin-bottom: 60px;
  }
  .content--container .text--small {
    margin-bottom: 0;
  }
}
@media (min-width: 1800px) {
  .footer--main {
    padding-left: 300px;
    padding-right: 300px;
  }
  .footer--contact--opening-hours {
    padding: 30px 70px 30px 40px;
  }
}
@media (max-width: 1799.98px) {
  .content--container .image svg {
    width: 800px;
    height: 800px;
  }
}
@media (max-width: 1599.98px) {
  .content--container .image svg {
    width: 600px;
    height: 600px;
  }
}
@media (max-width: 1399.98px) {
  .header-media {
    padding: 100px 80px 60px 80px;
  }
  .header-media--title h1 {
    margin-bottom: 20px;
  }
  .footer--main {
    padding-left: 90px;
    padding-right: 90px;
  }
  .teaser--container {
    padding-left: 90px;
    padding-right: 90px;
  }
  .content--container {
    margin-left: 90px;
  }
}
@media (max-width: 1199.98px) {
  .footer--contact ul li {
    font-size: 18px;
  }
  .footer--contact--opening-hours .opening-hours-row {
    font-size: 16px;
  }
  .teaser--container > .cols {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .teaser {
    perspective: none;
    cursor: default;
  }
  .teaser .teaser--front {
    display: none;
  }
  .teaser .teaser--back {
    position: relative;
    transform: none !important;
  }
  .teaser:hover .teaser--front, .teaser:hover .teaser--back {
    transform: none;
  }
  .content--container .image svg {
    width: 500px;
    height: 500px;
    padding-left: 100px;
  }
}
@media (max-width: 991.98px) {
  .header-media--brand-logos {
    width: 100%;
    gap: 10px;
  }
  .header-media--brand-logos svg {
    width: 125px;
  }
  .footer--contact {
    flex-direction: column;
    align-items: flex-start;
    gap: 40px;
  }
  .footer--contact--opening-hours {
    width: 100%;
    padding: 30px 75px 30px 30px;
  }
  .footer--infos--links ul {
    flex-direction: column;
    align-items: flex-start;
  }
  .footer--infos--links ul li {
    font-size: 16px;
  }
  .teaser--container > .cols {
    grid-template-columns: minmax(0, 1fr);
  }
  .content--container .image {
    width: 45%;
    flex-shrink: 0;
    display: flex;
    align-items: center;
  }
  .content--container .image svg {
    width: auto;
    height: 100%;
    max-height: 450px;
    position: absolute;
    left: 0;
    right: unset;
    padding: 0;
  }
}
@media (hover: hover) and (pointer: fine) and (max-width: 767.98px) {
  .main-nav--list > li > a:hover {
    padding: 0 70px 0 40px;
  }
}
@media (max-width: 767.98px) {
  h3 small, .h3 small {
    font-size: 18px;
  }
  h4 small, .h4 small {
    font-size: 18px;
  }
  .page-header {
    padding: 15px 15px 0px 15px;
  }
  .page-header--top {
    display: none;
  }
  .page-header--top .logo,
  .page-header--top .lang-nav {
    transition: opacity 0.3s, visibility 0.3s;
  }
  .page-wrap.region-map--open .page-header--top .logo,
  .page-wrap.region-map--open .page-header--top .lang-nav {
    opacity: 0;
    visibility: hidden;
  }
  .header-media {
    padding: 100px 60px 60px 60px;
    height: calc(100vh - 15px - 15px);
    height: calc(100svh - 15px - 15px);
  }
  .header-media--image {
    display: none;
  }
  .header-media--logo {
    align-self: center;
  }
  .header-media--brand-logos {
    padding-top: 15px;
    margin-top: 0;
  }
  .header-media--brand-logos a {
    flex: 1;
  }
  .header-media--brand-logos svg {
    width: 100%;
  }
  .footer--main {
    padding-left: 30px;
    padding-right: 30px;
    padding-top: 60px;
  }
  .footer--contact ul li {
    line-height: 1.3;
  }
  .footer--contact ul li:not(:last-child) {
    margin-bottom: 20px;
  }
  .footer--contact--opening-hours {
    width: 100%;
  }
  .footer--infos {
    grid-template-columns: 1fr;
  }
  .footer--infos hr {
    display: block;
    margin: 0;
  }
  .footer--infos--locations {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
  }
  .footer--copyright {
    padding: 40px 0 40px;
    margin: 0;
  }
  .main-nav--list > li {
    position: relative;
  }
  .main-nav--list > li.accessible-menu--has-submenu-open > a {
    background: #e0e0e0;
  }
  .main-nav--list > li ul.accessible-menu__submenu--open {
    transition: max-height 1s;
  }
  table.contenttable,
  .area--text table {
    display: block;
    overflow: visible;
    overflow-x: auto;
  }
  .area--table table, .area--table thead, .area--table tbody, .area--table tr, .area--table th, .area--table td {
    display: block;
  }
  .area--table table thead tr:last-child {
    display: none;
  }
  .area--table table tbody tr {
    position: relative;
    padding-bottom: 5px;
  }
  .area--table table tbody tr:after {
    display: block;
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    height: 1px;
    width: 100%;
    background-size: auto 100%;
    filter: brightness(0) saturate(100%) invert(32%) sepia(2%) saturate(474%) hue-rotate(202deg) brightness(96%) contrast(82%);
    opacity: 0.3;
  }
  .area--table table tbody tr td:first-child:after {
    display: none;
  }
  .area--table table tbody td {
    display: flex;
    column-gap: 25px;
    position: relative;
    margin-top: 5px;
    align-items: center;
    align-content: center;
  }
  .area--table table tbody td:before {
    display: flex;
    align-items: center;
    align-content: center;
    flex: 0 0 calc(50% + 20px);
    content: attr(data-label);
    margin: -12px -20px;
    margin-right: 0;
    padding: 12px 20px;
    border-radius: 5px;
    font-weight: 600;
    background: #E8EAED;
  }
  .teaser--container {
    padding-left: 15px;
    padding-right: 15px;
  }
  .teaser {
    padding-bottom: 0;
  }
  .area--text.more-btn-mobile .area--text--inner {
    position: relative;
    max-height: 260px;
    overflow: hidden;
  }
  .area--text.more-btn-mobile .area--text--inner:before {
    display: block;
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 80px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #fff 100%);
    pointer-events: none;
  }
  .area--text.more-btn-mobile .area--text--inner + .btn {
    display: inline-flex;
    margin-top: 3px;
  }
  .area--teaser.small.no-scroll > .cols--2 {
    grid-template-columns: 100%;
  }
  .area--teaser.full-width:not(.no-scroll) > .cols {
    scroll-padding-left: 30px;
  }
  .area--teaser:not(.no-scroll) > .cols {
    overflow: visible;
    overflow-x: auto;
    scroll-padding-left: 30px;
    scroll-snap-type: x mandatory;
    grid-template-columns: initial;
    grid-auto-columns: 1140px;
    grid-auto-flow: column;
  }
  .area--teaser:not(.no-scroll) > .cols--2 {
    grid-auto-columns: minmax(var(--min-teaser-width), 555px);
  }
  .area--teaser:not(.no-scroll) > .cols--3 {
    grid-auto-columns: minmax(var(--min-teaser-width), 360px);
  }
  .area--teaser:not(.no-scroll) > .cols--4 {
    grid-auto-columns: minmax(var(--min-teaser-width), 262.5px);
  }
  .area--teaser:not(.no-scroll) > .cols--5 {
    grid-auto-columns: minmax(var(--min-teaser-width), 204px);
  }
  .area--teaser:not(.no-scroll) > .cols--6 {
    grid-auto-columns: minmax(var(--min-teaser-width), 165px);
  }
  .area--teaser:not(.no-scroll) > .cols .teaser {
    scroll-snap-align: start;
  }
  .area--teaser.area--teaser--grid .area--teaser--categories .btn-outline {
    padding: 0 16px;
    height: 40px;
    font-size: 14px;
  }
  .content--container {
    flex-direction: column;
    margin-left: 30px;
    margin-right: 30px;
  }
  .content--container .text .lead {
    padding-top: 40px;
    margin-bottom: 40px;
  }
  .content--container .text--small {
    gap: 30px;
  }
  .content--container .text--small svg {
    width: 25px;
    height: 25px;
  }
  .content--container .image {
    width: 100%;
    height: clamp(60px, 10vh, 200px);
    flex-shrink: 0;
    margin-top: 0;
  }
  .content--container .image svg {
    width: clamp(330px, 80vw, 560px);
    height: auto;
    position: absolute;
    top: -30px;
    left: unset;
    right: -100px;
    padding: 0;
  }
}
@media (max-width: 575.98px) {
  .header-media {
    padding: 40px 20px 40px 20px;
  }
  .header-media--logo {
    width: clamp(225px, 50vw, 300px);
  }
  .header-media--brand-logos {
    margin-left: 0;
  }
  .header-media--brand-logos a {
    height: 30px;
    padding-left: 5px;
    padding-right: 5px;
  }
  .header-media--brand-logos a:hover, .header-media--brand-logos a:focus {
    background-color: transparent;
  }
  .header-media--link {
    height: 45px;
    font-size: 14px;
  }
  .header-media--link .icon {
    width: 10px;
    height: 10px;
  }
  .header-media--title h1 {
    font-size: 28px;
  }
  .header-media--title small {
    font-size: 18px;
  }
  .footer::before {
    mask-size: 100% auto;
    height: 100px;
  }
  .footer::after {
    top: 100px;
    height: calc(100% - 100px);
  }
  .footer--infos--locations {
    font-size: 16px;
  }
  .area--textmedia .area--thumbnail {
    aspect-ratio: 360/210;
  }
}
@media (max-width: 360px) {
  .footer--contact--opening-hours .opening-hours-row {
    flex-direction: column;
  }
  .footer--contact--opening-hours .opening-hours-row .opening-hours-day br {
    display: none;
  }
  .footer--contact--opening-hours .opening-hours-row .opening-hours-time {
    text-align: start;
    margin-top: 10px;
  }
  .footer--infos--locations {
    grid-template-columns: 1fr;
  }
  .footer--infos--links {
    flex-direction: column;
  }
  .footer--infos--links ul {
    flex-direction: column;
    width: 100%;
  }
}
@media (hover: hover) and (pointer: fine) {
  .btn.btn-primary:hover, .btn.btn-secondary:hover {
    padding-left: 37px;
  }
  .btn-primary:hover {
    color: #D4D614;
  }
  .btn-primary:hover:before {
    background-color: #fff;
    box-shadow: 0 0 30px rgba(0, 0, 0, 0.2);
  }
  .btn-primary:hover:after {
    opacity: 1;
    visibility: visible;
  }
  .btn-secondary:hover {
    color: #505450;
  }
  .btn-secondary:hover:before {
    background-color: #fff;
    box-shadow: 0 0 30px rgba(0, 0, 0, 0.2);
  }
  .btn-secondary:hover:after {
    opacity: 1;
    visibility: visible;
  }
  .btn-outline:hover {
    color: #505450;
  }
  .btn-outline:hover:before {
    background-color: #fff;
    box-shadow: 0 0 30px rgba(0, 0, 0, 0.2);
  }
  .btn-outline:hover:after {
    opacity: 1;
    visibility: visible;
  }
  .btn-text:hover {
    color: #D4D614;
  }
  .btn-text:hover, .btn-text:hover.btn.btn-sm, .btn-text:hover.btn.btn-lg {
    padding-left: 45px;
    padding-right: 10px;
  }
  .btn.btn-lg.btn-primary:hover, .btn.btn-lg.btn-secondary:hover {
    padding-left: 39px;
  }
  .btn.btn-sm.btn-primary:hover, .btn.btn-sm.btn-secondary:hover {
    padding-left: 36px;
  }
  .highlight .btn.btn-primary:hover, .area--promo-textmedia:not(.large-text) .area--promo-textmedia--text .btn.btn-primary:hover {
    color: #D4D614;
  }
  .highlight .btn.btn-primary:hover:before, .area--promo-textmedia:not(.large-text) .area--promo-textmedia--text .btn.btn-primary:hover:before {
    background-color: #fff;
    box-shadow: 0 0 30px rgba(0, 0, 0, 0.2);
  }
  .highlight .btn.btn-primary:hover:after, .area--promo-textmedia:not(.large-text) .area--promo-textmedia--text .btn.btn-primary:hover:after {
    opacity: 1;
    visibility: visible;
  }
  .highlight .btn.btn-outline:hover, .area--promo-textmedia:not(.large-text) .area--promo-textmedia--text .btn.btn-outline:hover {
    color: #505450;
  }
  .highlight .btn.btn-outline:hover:before, .area--promo-textmedia:not(.large-text) .area--promo-textmedia--text .btn.btn-outline:hover:before {
    background-color: #fff;
    box-shadow: 0 0 30px rgba(0, 0, 0, 0.2);
  }
  .highlight .btn.btn-outline:hover:after, .area--promo-textmedia:not(.large-text) .area--promo-textmedia--text .btn.btn-outline:hover:after {
    opacity: 1;
    visibility: visible;
  }
  .main-nav--list > li > a:hover span:before {
    opacity: 1;
  }
  .main-nav--list > li > ul > li > a:hover img {
    transform: scale(1.2);
  }
  .main-nav--list > li > ul > li > ul > li > a:hover {
    padding: 7px 25px 8px 60px;
    color: #D4D614;
  }
  .main-nav .main-nav--toggle:hover:before, .login .main-nav--toggle:hover:before {
    background: #eeeeee;
  }
  .lang-nav--list a:not(.active):hover {
    color: #D4D614;
  }
  .area--text a:not(.btn):hover {
    color: #D4D614;
  }
  .area--text a:not(.btn)[target=_blank]:hover {
    color: var(--text-color);
  }
  .area--teaser.area--teaser--slider .area--teaser--categories > button:hover,
  .area--teaser.area--teaser--slider .area--teaser--categories > a:hover {
    color: var(--text-color);
  }
  .area--teaser.area--teaser--slider .area--teaser--categories > button:hover:before,
  .area--teaser.area--teaser--slider .area--teaser--categories > a:hover:before {
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.2);
  }
  .area--teaser.area--teaser--slider .area--teaser--categories > button:hover:after,
  .area--teaser.area--teaser--slider .area--teaser--categories > a:hover:after {
    width: 30px;
    border-color: #D4D614;
    opacity: 1;
  }
  .area--teaser.area--teaser--bar .area--teaser--slider--wrap:hover .area--teaser--slider--nav {
    opacity: 1;
    visibility: visible;
  }
  .area--teaser.area--teaser--bar .area--teaser--slider--nav button:hover {
    box-shadow: 0 0 40px rgba(0, 0, 0, 0.3);
  }
  .area--teaser.area--teaser--bar .area--teaser--slider--nav button.prev:hover {
    transform: translate(-60%, -50%) rotateZ(180deg);
  }
  .area--teaser.area--teaser--bar .area--teaser--slider--nav button.next:hover {
    transform: translate(60%, -50%);
  }
  .area--embed .infobox a:hover {
    opacity: 0.5;
  }
  .area--anchor-nav ul li a:not(.btn):hover {
    color: #D4D614;
  }
}
/*# sourceMappingURL=../maps/main.min.css.map */