@charset "UTF-8";
/*

DIMENSIONS
----------

*/
/* 

BREAKPOINTS
-----------
Should match the breakpoints in breakpoints.yml

*/
:root {
  --w-min: 32rem;
  --w-narrow: 98rem;
  --w-medium: 120rem;
  --w-wide: 140rem;
  --space-2xs: .3rem;
  --space-xs: .7rem;
  --space-sm: 1.5rem;
  --space-md: 3rem;
  --space-lg: 4.5rem;
  --space-xl: 6rem;
  --space-2xl: 9rem;
  --space-4xl: 12rem;
  --gutter-inside: var(--space-md);
  --gutter-outside: var(--space-sm);
  --swiper-navigation-size: 0.8em;
}

/*

COLORS
------

*/
:root {
  --color-primary-1: #0B4195;
  --color-primary-2: white;
  --color-secondary-1: #E83755;
  --color-secondary-2: #359DC3;
  --color-secondary-3: #A1C628;
  --color-secondary-4: #78338B;
  --color-secondary-5: #EB923E;
  --color-tertiary-1: #640920;
  --color-tertiary-2: #005474;
  --color-tertiary-3: #465B1E;
  --color-tertiary-4: #2E2062;
  --color-tertiary-5: #87300B;
  --color-firedepartment: #A72920;
  --color-brand: var(--color-primary-1);
  --color-fond: #fff;
  --color-fond-2: #f2f2f2;
  --color-text: #000;
  --color-dimmed: #666;
  --color-contrast-dimmed: #575757;
  --color-mute: #999;
  --color-link: var(--color-primary-1);
  --color-warn: var(--color-secondary-1);
  --color-line: #999;
  --color-nav-bg: var(--color-brand);
  --color-placeholder: var(--color-mute);
  --color-focus: blue;
  --color-form-text: var(--color-text);
  --color-form-border: var(--color-line);
  --color-form-fond: white;
  --color-form-error: red;
  --color-placeholder: var(--color-mute);
  --color-focus: blue;
  --color-form-text: var(--color-text);
  --color-form-fond: white;
  --color-unpublished-bg: #fff4f4;
  --color-pager: var(--color-brand);
  --color-pager--hover: var(--color-link);
  --color-pager-button: var(--color-brand);
  --color-pager-button-icon: var(--color-fond);
  --color-pager-button--hover: var(--color-link);
  --color-pager-ellipsis: var(--color-mute);
  --color-webform-help-text: white;
  --color-webform-help-fond: var(--color-dimmed);
  --color-webform-help-fond--hover: var(--color-link);
  --color-webform-tooltip-text: white;
  --color-webform-tooltip-fond: var(--color-text);
  --color-local-tasks-line: var(--color-brand);
  --color-local-tasks-text: var(--color-text);
  --color-local-tasks-bg: transparent;
  --color-local-tasks-text-active: white;
  --color-local-tasks-bg-active: var(--color-brand);
  --color-status-message-line: var(--color-line);
  --color-login-bg: white;
  --color-login-label: var(--color-dimmed);
  --color-login-description: var(--color-mute);
  --color-facebook: #3b5998;
  --color-google: #dd4b39;
  --color-youtube: #ed1f24;
  --color-twitter: #55acee;
  --color-x: #000000;
  --color-tumblr: #34526f;
  --color-pinterest: #c8232c;
  --color-whatsapp: #43d854;
  --color-instagram: #3f729b;
  --color-snapchat: #fffc00;
}

:root {
  --color-scheme: var(--color-brand);
  --color-scheme-hover: var(--color-secondary-2);
  --color-scheme-text: var(--color-primary-2);
}

.scheme-color-2 {
  --color-scheme: var(--color-firedepartment);
  --color-scheme-hover: var(--color-secondary-5);
  --color-scheme-text: var(--color-primary-2);
}

.scheme-color-3 {
  --color-scheme: var(--color-secondary-5);
  --color-scheme-hover: var(--color-secondary-1);
  --color-scheme-text: var(--color-text);
}

.scheme-color-4 {
  --color-scheme: var(--color-secondary-3);
  --color-scheme-hover: var(--color-secondary-2);
  --color-scheme-text: var(--color-text);
}

/* ---------------------------------

@media (prefers-color-scheme: dark) {
  :root {
    --color-text: $color-text;
    --color-fond: $color-black;;
  }
}

@media (prefers-contrast: more) {
  :root {
    --color-text: $color-black;
  }
}

----------------------------------- */
/*

TYPOGRAPHY
----------
Settings for font sizes, line heights, font weights.

*/
:root {
  --font-text: Montserrat, sans-serif;
  --font-ui: Montserrat, sans-serif;
  --fs-nano: 1.2rem;
  --fs-micro: 1.4rem;
  --fs-tiny: 1.6rem;
  --fs-small: 1.9rem;
  --fs-base: 2.1rem;
  --fs-medium: 2.4rem;
  --fs-large: 2.8rem;
  --fs-xlarge: 3.2rem;
  --lh-nano: 1.5;
  --lh-micro: 1.5;
  --lh-tiny: 1.5;
  --lh-small: 1.5;
  --lh-base: 1.7;
  --lh-medium: 1.4;
  --lh-large: 1.4;
  --lh-xlarge: 1.4;
  --fw-normal: 400;
  --fw-bold: 600;
  --text-block-margin: 2rem;
}

@media screen and (max-width: 779px) {
  :root {
    --fs-nano: 0.8rem;
    --fs-micro: 1rem;
    --fs-tiny: 1.2rem;
    --fs-small: 1.4rem;
    --fs-base: 1.6rem;
    --fs-medium: 1.8rem;
    --fs-large: 2.2rem;
    --fs-xlarge: 2.5rem;
  }
}
/*

INCLUDE WEBFONTS
----------------
Example:
@include font-face('Webfont Name', 'filename-without-extension', 'subfolder of ./fonts/', 400, normal);

*/
@font-face {
  font-family: "Montserrat";
  src: url("../../fonts/montserrat/montserrat-regular.woff2") format("woff2"), url("../../fonts/montserrat/montserrat-regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Montserrat";
  src: url("../../fonts/montserrat/montserrat-italic.woff2") format("woff2"), url("../../fonts/montserrat/montserrat-italic.woff") format("woff");
  font-weight: 400;
  font-style: italic;
}
@font-face {
  font-family: "Montserrat";
  src: url("../../fonts/montserrat/montserrat-600.woff2") format("woff2"), url("../../fonts/montserrat/montserrat-600.woff") format("woff");
  font-weight: 600;
  font-style: normal;
}
@font-face {
  font-family: "Montserrat";
  src: url("../../fonts/montserrat/montserrat-600italic.woff2") format("woff2"), url("../../fonts/montserrat/montserrat-600italic.woff") format("woff");
  font-weight: 600;
  font-style: italic;
}
:root {
  --filter-overlay-blur: .8rem;
}

/*

ANIMATIONS
----------
Settings & keyframes for CSS animations and transitions.

*/
:root {
  --anim-duration: .2s;
  --transition-duration-buttons: .2s;
}

html, body {
  scroll-behavior: smooth;
}

@media screen and (prefers-reduced-motion: reduce) {
  :root {
    --anim-duration: none;
  }
  html, body {
    scroll-behavior: auto;
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
:root {
  --focus-outline: 0.2rem solid #000;
}

/*! based on normalize.css v6.0.0 | MIT License */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 * 3. Make sure document is at least as high as the viewport
 * 4. Apply default border-box model
 */
html {
  line-height: 1.15; /* 1 */
  -ms-text-size-adjust: 100%; /* 2 */
  -webkit-text-size-adjust: 100%; /* 2 */
  height: 100%; /* 3 */
}

*, *::before, *::after {
  box-sizing: border-box; /* 4 */
}

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

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

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

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

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

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

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

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

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

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

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

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

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

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

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

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

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

/* Forms
   ========================================================================== */
/**
 * Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  margin: 0;
}

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

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

/**
 * Remove inner focus ring in FF
 * 1. prevent <option>s from becoming transparent as well.
 */
select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 black;
}

option:not(:checked) {
  color: black; /* 1 */
}

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

/**
 * Focus
 */
*:focus-visible {
  outline: var(--focus-outline);
}

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

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: var(--focus-outline);
}

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

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

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

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

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

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

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

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

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

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

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

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

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

/* Reset
   ========================================================================== */
/**
 * Reset defaults
 */
html, body,
h1, h2, h3, h4, h5, h6, p, figure {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

ul[class],
ol[class],
li[class] {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Buttons
   ========================================================================== */
button {
  font-size: inherit;
  cursor: pointer;
}
button:focus {
  outline: none;
}
button::-moz-focus-inner {
  border: 0;
}

/* Font handling
   ========================================================================== */
* {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

nav * {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

::selection {
  background: var(--color-brand);
  color: #fff;
}

::placeholder {
  color: var(--color-placeholder);
  opacity: 1;
}

body {
  background-color: var(--color-fond);
  box-sizing: border-box;
  min-width: var(--w-min);
  accent-color: var(--color-brand);
  scroll-behavior: smooth;
}

input[type=checkbox],
input[type=radio],
input[type=range],
input[type=file] {
  line-height: normal;
  height: auto;
  margin: 0;
  padding: 0;
  border: 0;
}

::-moz-focus-inner {
  padding: 0;
  border: 0;
}

label[for] {
  cursor: pointer;
}

html {
  font-size: 62.5%;
  line-height: var(--lh-base);
}

body {
  color: var(--color-text);
}

body,
button,
input,
textarea,
select {
  font-family: var(--font-text);
  font-size: var(--fs-base);
  font-weight: var(--fw-normal);
}

@media screen and (min-width: 980px) {
  body.path-frontpage:not(.toggle-expanded--main-menu) .branding {
    width: 31%;
    position: absolute;
    margin-inline-start: 13rem;
  }
}
.branding__logo {
  fill: var(--color-primary-2);
  width: 100%;
}
.branding__logo svg {
  display: block;
  fill: var(--color-primary-2);
}

.branding__logo-link {
  display: block;
}
.branding__logo-link:focus-visible {
  outline: var(--focus-outline);
}

.secondaryHeaderLogo {
  max-width: clamp(17rem, 30vw, 46rem);
  max-height: clamp(4.825rem, 8.514vw, 13.055rem);
  width: auto;
  height: auto;
  position: absolute;
  margin: 1rem 1rem 1rem 0;
}

.page-title {
  font-size: var(--fs-large);
  line-height: var(--lh-large);
  font-weight: var(--fw-bold);
}

.paragraph__title, .view__title {
  color: var(--color-brand);
  font-size: var(--fs-large);
  line-height: var(--lh-large);
  margin-block: 8rem 4rem;
}

.quote,
.text-formatted blockquote {
  margin: var(--text-block-margin);
  padding-inline: 4%;
}

.quote__inner {
  display: inline-block;
}

.quote__text,
.text-formatted blockquote {
  position: relative;
  font-size: var(--fs-large);
  line-height: var(--lh-large);
  color: var(--color-primary-1);
  display: inline-block;
}
.quote__text::before, .quote__text::after,
.text-formatted blockquote::before,
.text-formatted blockquote::after {
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  width: 3rem;
  height: 3rem;
  position: absolute;
  display: block;
}
.quote__text::before,
.text-formatted blockquote::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26.497 24'%3E%3Cg fill='%230B4195'%3E%3Cpath d='M8.737 1.488c.959.993 1.44 2.224 1.44 3.696 0 .768-.113 1.601-.336 2.496-.225.897-.561 1.92-1.009 3.072L4.801 24H.192l3.264-13.92A4.819 4.819 0 0 1 .96 8.304C.319 7.44 0 6.4 0 5.184c0-1.472.48-2.703 1.44-3.696C2.4.497 3.615 0 5.088 0s2.688.496 3.649 1.488Zm16.32 0c.96.993 1.44 2.224 1.44 3.696 0 .768-.113 1.601-.336 2.496-.225.897-.561 1.92-1.008 3.072L21.121 24h-4.608l3.264-13.92a4.815 4.815 0 0 1-2.496-1.776c-.641-.864-.96-1.904-.96-3.12 0-1.472.48-2.703 1.44-3.696C18.721.497 19.936 0 21.41 0s2.688.496 3.648 1.488Z' /%3E%3C/g%3E%3C/svg%3E");
  inset-inline-start: -5rem;
  inset-block-end: 0;
}
.quote__text::after,
.text-formatted blockquote::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26.497 24'%3E%3Cg fill='%230B4195'%3E%3Cpath d='M8.737 1.488c.959.993 1.44 2.224 1.44 3.696 0 .768-.113 1.601-.336 2.496-.225.897-.561 1.92-1.009 3.072L4.801 24H.192l3.264-13.92A4.819 4.819 0 0 1 .96 8.304C.319 7.44 0 6.4 0 5.184c0-1.472.48-2.703 1.44-3.696C2.4.497 3.615 0 5.088 0s2.688.496 3.649 1.488Zm16.32 0c.96.993 1.44 2.224 1.44 3.696 0 .768-.113 1.601-.336 2.496-.225.897-.561 1.92-1.008 3.072L21.121 24h-4.608l3.264-13.92a4.815 4.815 0 0 1-2.496-1.776c-.641-.864-.96-1.904-.96-3.12 0-1.472.48-2.703 1.44-3.696C18.721.497 19.936 0 21.41 0s2.688.496 3.648 1.488Z' /%3E%3C/g%3E%3C/svg%3E");
  inset-inline-end: -5rem;
  inset-block-start: 0;
  transform: rotate(180deg);
}

.quote__source,
.text-formatted cite {
  display: block;
  margin-block-start: 2rem;
  text-align: end;
  font-style: normal;
}

.text-formatted h2:not([class]),
.text-formatted h3:not([class]),
.text-formatted h4:not([class]),
.text-formatted h5:not([class]),
.text-formatted h6:not([class]) {
  margin: 3rem 0;
  color: var(--color-brand);
}
.text-formatted h2:not([class]):first-child,
.text-formatted h3:not([class]):first-child,
.text-formatted h4:not([class]):first-child,
.text-formatted h5:not([class]):first-child,
.text-formatted h6:not([class]):first-child {
  margin-block-start: 0;
}
.text-formatted h2:not([class]) {
  font-size: var(--fs-xlarge);
  line-height: var(--lh-xlarge);
}
.text-formatted h3:not([class]) {
  font-size: var(--fs-large);
  line-height: var(--lh-large);
}
.text-formatted h4:not([class]) {
  font-size: var(--fs-medium);
  line-height: var(--lh-medium);
}
.text-formatted p {
  margin-block-end: var(--text-block-margin);
}
.text-formatted p:last-of-type {
  margin-block-end: 0;
}
.text-formatted ul,
.text-formatted ol {
  margin-block-end: var(--text-block-margin);
}
.text-formatted ul ::marker,
.text-formatted ol ::marker {
  color: var(--color-text);
}
.text-formatted ul li,
.text-formatted ol li {
  margin-block-end: calc(var(--text-block-margin) / 4);
}
.text-formatted table {
  caption-side: bottom;
  margin-block-end: var(--text-block-margin);
  font-size: var(--fs-small);
  line-height: var(--lh-small);
}
.text-formatted table th {
  background: var(--color-fond);
  text-align: center;
  font-weight: bolder;
}
.text-formatted table td,
.text-formatted table th {
  padding-block: 1rem;
  padding-inline: 2rem;
  border-bottom: 1px solid var(--color-line);
}
.text-formatted table caption {
  padding-block-start: 2rem;
  text-align: start;
  color: var(--color-dimmed);
  font-size: var(--fs-small);
  line-height: var(--lh-small);
}
.text-formatted table p {
  margin-block-end: 0;
}
.text-formatted pre {
  padding: 0.25rem;
  max-width: 100%;
  overflow-x: auto;
  border: 1px solid rgb(230, 230, 230);
  background-color: rgb(246, 246, 246);
  line-height: 1.2;
}
.text-formatted a {
  color: var(--color-brand);
  transition: var(--anim-duration) color;
  text-decoration: underline;
}
.text-formatted a:focus, .text-formatted a:hover, .text-formatted a:active {
  color: var(--color-text);
  text-decoration: none;
}

.responsive-table {
  overflow: auto;
}

@media screen and (max-width: 779px) {
  .responsive-table {
    overflow: scroll;
    overflow-x: scroll;
  }
  .responsive-table::after {
    display: block;
    content: "➔";
    position: absolute;
    right: 2.5rem;
    margin-top: -3.5rem;
  }
}
.button {
  transition: var(--transition-duration-buttons) all;
  padding: 0.3em 0.6em;
  border: none;
  color: #fff;
  background-color: var(--color-brand);
  border: 2px solid var(--color-brand);
  text-decoration: none;
}
.button:link, .button:visited {
  color: #fff;
  text-decoration: none;
}
.button:hover, .button:focus, .button:active {
  color: #fff;
  background-color: var(--color-text);
  border-color: var(--color-text);
}

.fluid-img {
  display: block;
  width: 100%;
  height: auto;
}

.grid--3-columns {
  display: flex;
  gap: var(--space-lg);
  margin-block-end: var(--space-md);
  align-items: stretch;
}
.grid--3-columns > * {
  flex: 0 0 100%;
  height: auto;
}
@media screen and (min-width: 980px) {
  .grid--3-columns > * {
    flex: 0 0 calc(33.333% - 2 * var(--space-lg) / 3);
  }
}
.grid--3-columns > * > .card {
  height: 100%;
}
.swiper-initialized .grid--3-columns {
  gap: 0;
}

.clearfix::after {
  clear: both;
  content: "";
  display: table;
}

.visuallyhidden,
.visually-hidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.visuallyhidden-focusable {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}
.visuallyhidden-focusable:active, .visuallyhidden-focusable:focus {
  position: static;
  overflow: visible;
  clip: auto;
  width: auto;
  height: auto;
  margin: 0;
}

.hidden {
  display: none !important;
  visibility: hidden;
}

.invisible {
  visibility: hidden;
}

.l-container {
  box-sizing: content-box;
  margin-inline: auto;
  padding-inline: var(--gutter-outside);
  max-width: var(--w-wide);
}

.l-container--medium {
  box-sizing: content-box;
  margin-inline: auto;
  padding-inline: var(--gutter-outside);
  max-width: var(--w-medium);
}

.l-container--narrow {
  box-sizing: content-box;
  margin-inline: auto;
  padding-inline: var(--gutter-outside);
  max-width: var(--w-narrow);
}

/**
 * Prevent transitions and animations
 * for page loading and resize
 */
.prevent-transitions * {
  transition: none !important;
}

.prevent-animations * {
  animation: none !important;
}

/**
 * @file
 * Styles for local tabs.
 */
.tabs {
  margin: 1em 0;
}

.tabs__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.tabs__item {
  display: inline-block;
}

.tabs a {
  display: block;
  padding: 0.2em 1em;
  text-decoration: none;
  display: block;
  margin-bottom: -2px;
  padding: 0.4em 1em;
  text-decoration: none;
  font-weight: var(--fw-bold);
  color: var(--color-brand);
  background: transparent;
  transition: 0.2s all;
}
.tabs a.is-active {
  color: #fff;
  background: var(--color-brand);
  font-weight: var(--fw-bold);
}

.tabs a:not(.is-active):focus,
.tabs a:not(.is-active):hover {
  background-color: var(--color-fond-2);
}

/**
 * @file
 * Styles for system messages.
 */
.messages {
  padding: 15px 20px 15px 35px; /* LTR */
  word-wrap: break-word;
  border: 1px solid;
  border-width: 1px 1px 1px 0; /* LTR */
  border-radius: 2px;
  background: no-repeat 10px 17px; /* LTR */
  overflow-wrap: break-word;
  font-family: var(--font-ui);
}

[dir=rtl] .messages {
  padding-right: 35px;
  padding-left: 20px;
  text-align: right;
  border-width: 1px 0 1px 1px;
  background-position: right 10px top 17px;
}

.messages + .messages {
  margin-top: 1.538em;
}

.messages__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.messages__item + .messages__item {
  margin-top: 0.769em;
}

.messages--status {
  color: #325e1c;
  border-color: #c9e1bd #c9e1bd #c9e1bd transparent; /* LTR */
  background-color: #f3faef;
  box-shadow: -8px 0 0 #77b259; /* LTR */
}

[dir=rtl] .messages--status {
  margin-left: 0;
  border-color: #c9e1bd transparent #c9e1bd #c9e1bd;
  box-shadow: 8px 0 0 #77b259;
}

.messages--warning {
  color: #734c00;
  border-color: #f4daa6 #f4daa6 #f4daa6 transparent; /* LTR */
  background-color: #fdf8ed;
  box-shadow: -8px 0 0 #e09600; /* LTR */
}

[dir=rtl] .messages--warning {
  border-color: #f4daa6 transparent #f4daa6 #f4daa6;
  box-shadow: 8px 0 0 #e09600;
}

.messages--error {
  color: #a51b00;
  border-color: #f9c9bf #f9c9bf #f9c9bf transparent; /* LTR */
  background-color: #fcf4f2;
  box-shadow: -8px 0 0 #e62600; /* LTR */
}

[dir=rtl] .messages--error {
  border-color: #f9c9bf transparent #f9c9bf #f9c9bf;
  box-shadow: 8px 0 0 #e62600;
}

.messages--error p.error {
  color: #a51b00;
}

.columns {
  display: flex;
  flex-direction: column;
  gap: 5rem;
}

@media screen and (min-width: 980px) {
  .columns {
    flex-wrap: wrap;
    flex-direction: row;
    gap: 5rem 3rem;
  }
  .columns > * {
    flex: 1;
  }
}
:root {
  --icon-list-columns: 2;
  --icon-list-gap: 3.4rem;
}
@media screen and (min-width: 780px) {
  :root {
    --icon-list-columns: 2;
  }
}
@media screen and (min-width: 1200px) {
  :root {
    --icon-list-columns: 4;
  }
}

.icon-list__list {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: var(--icon-list-gap);
  list-style: none;
  padding: 0;
}
.icon-list__list .icon-list__item-inner .fa-ext.extlink {
  position: absolute;
  padding: 10px 15px;
  color: var(--color-scheme-text);
}

.icon-list__item {
  width: calc(100% / var(--icon-list-columns) - var(--icon-list-gap) + var(--icon-list-gap) / var(--icon-list-columns));
  flex-basis: calc(100% / var(--icon-list-columns) - var(--icon-list-gap) + var(--icon-list-gap) / var(--icon-list-columns));
  flex-grow: 1;
  aspect-ratio: 16/9;
}
@media screen and (max-width: 1199px) {
  .icon-list__item {
    aspect-ratio: 1;
  }
  .icon-list__item .icon-list__item-link .icon svg {
    height: 10dvw;
  }
}

.icon-list__item-inner {
  height: 100%;
}

.icon-list__item-text {
  text-align: center;
  line-height: 1.3;
}

.icon-list__item-link {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100%;
  padding: 3rem;
  transition: 0.2s all;
}
.icon-list__item-link:link, .icon-list__item-link:visited {
  background-color: var(--color-scheme);
  color: var(--color-scheme-text);
  text-decoration: none;
}
.icon-list__item-link:hover, .icon-list__item-link:focus {
  background-color: var(--color-scheme-hover);
  outline: 0;
}
.icon-list__item-link:hover .icon svg, .icon-list__item-link:focus .icon svg {
  transform: scale(0.9);
}
.icon-list__item-link:focus-visible {
  outline: 0.2rem solid var(--color-scheme-text);
}
.icon-list__item-link .icon svg {
  height: 6.5rem;
  fill: currentColor;
  transition: 0.2s all;
}

.icon-list--small-pictogram .icon-list__item {
  min-height: 10rem;
  aspect-ratio: unset;
}
.icon-list--small-pictogram .icon {
  display: flex;
}
.icon-list--small-pictogram .icon svg {
  height: 3.5rem;
  fill: currentColor;
}
.icon-list--small-pictogram .icon-list__item-link {
  justify-content: left;
  flex-direction: row;
  gap: 1.5rem;
  padding: 4rem;
}
.icon-list--small-pictogram .icon-list__item-link:link, .icon-list--small-pictogram .icon-list__item-link:visited {
  background-color: var(--color-fond-2);
  color: var(--color-text);
}
.icon-list--small-pictogram .icon-list__item-link:hover, .icon-list--small-pictogram .icon-list__item-link:focus, .icon-list--small-pictogram .icon-list__item-link:focus-visible {
  background-color: var(--color-scheme-hover);
  color: #fff;
}
.icon-list--small-pictogram .icon-list__item-link:hover .icon svg, .icon-list--small-pictogram .icon-list__item-link:focus .icon svg, .icon-list--small-pictogram .icon-list__item-link:focus-visible .icon svg {
  transform: scale(0.9);
  fill: currentColor;
}
.icon-list--small-pictogram .icon-list__item-text {
  text-align: start;
}

.icon-list--link-list .icon-list__item-inner {
  position: relative;
  display: flex;
  align-items: center;
}
.icon-list--link-list .icon-list__list {
  flex-direction: column;
}
.icon-list--link-list .icon-list__item {
  width: 100%;
  aspect-ratio: unset;
}
.icon-list--link-list .icon-list__item-link {
  padding: 0.8em 1.2em;
  width: 100%;
  align-items: flex-start;
  justify-content: center;
}
.icon-list--link-list .icon-list__item-text {
  margin-inline-start: 3em;
  font-size: var(--fs-medium);
  line-height: var(--lh-medium);
}
.icon-list--link-list .extlink {
  position: absolute;
  left: 1.6em;
  color: var(--color-scheme-text);
}
.icon-list--link-list .extlink svg {
  height: 1.2em;
}

.icon-list--small-pictogram {
  --icon-list-columns: 1;
}
@media screen and (min-width: 780px) {
  .icon-list--small-pictogram {
    --icon-list-columns: 2;
  }
}
@media screen and (min-width: 1200px) {
  .icon-list--small-pictogram {
    --icon-list-columns: 4;
  }
}
@media screen and (min-width: 780px) {
  .icon-list--small-pictogram .icon-list__item-link {
    padding: 1.5rem;
  }
}
@media screen and (min-width: 1320px) {
  .icon-list--small-pictogram .icon-list__item-link {
    padding: 2.5rem;
  }
}

.address .field--telephone, .paragraph--two-column-contact .box .field--telephone, .accordion__content .field--telephone,
dl.base-accordion dd .field--telephone,
.address .field--fax,
.paragraph--two-column-contact .box .field--fax,
.accordion__content .field--fax,
dl.base-accordion dd .field--fax,
.address .field--email,
.paragraph--two-column-contact .box .field--email,
.accordion__content .field--email,
dl.base-accordion dd .field--email {
  margin-block-end: 0 !important;
}
.address .field--telephone .field__label, .paragraph--two-column-contact .box .field--telephone .field__label, .accordion__content .field--telephone .field__label,
dl.base-accordion dd .field--telephone .field__label,
.address .field--fax .field__label,
.paragraph--two-column-contact .box .field--fax .field__label,
.accordion__content .field--fax .field__label,
dl.base-accordion dd .field--fax .field__label,
.address .field--email .field__label,
.paragraph--two-column-contact .box .field--email .field__label,
.accordion__content .field--email .field__label,
dl.base-accordion dd .field--email .field__label {
  width: 10rem;
}
.address .field--fax .field__label, .paragraph--two-column-contact .box .field--fax .field__label, .accordion__content .field--fax .field__label,
dl.base-accordion dd .field--fax .field__label,
.address .field--email .field__label,
.paragraph--two-column-contact .box .field--email .field__label,
.accordion__content .field--email .field__label,
dl.base-accordion dd .field--email .field__label {
  font-weight: var(--fw-normal);
}
.address a, .paragraph--two-column-contact .box a, .accordion__content a,
dl.base-accordion dd a {
  color: var(--color-text);
  text-decoration: none;
}
.address .field > a:hover, .paragraph--two-column-contact .box .field > a:hover, .accordion__content .field > a:hover,
dl.base-accordion dd .field > a:hover {
  text-decoration: underline;
}
.address .svg-inline--fa, .paragraph--two-column-contact .box .svg-inline--fa, .accordion__content .svg-inline--fa,
dl.base-accordion dd .svg-inline--fa {
  margin-inline-end: 0.2em;
}

.accordion__trigger,
dl.base-accordion .accordion-trigger {
  appearance: none;
  background-color: transparent;
  border-bottom: 1rem solid var(--color-scheme);
  color: var(--color-primary-1);
  font-size: var(--fs-medium);
  line-height: var(--lh-medium);
  padding: 0.8em 1.2em;
  transition: 0.2s all;
}
.accordion__trigger:hover, .accordion__trigger:focus-visible,
dl.base-accordion .accordion-trigger:hover,
dl.base-accordion .accordion-trigger:focus-visible {
  background-color: var(--color-scheme-hover);
  color: var(--color-scheme-text);
  border-color: var(--color-scheme-hover);
}
.accordion__trigger:hover .accordion-icon, .accordion__trigger:focus .accordion-icon,
dl.base-accordion .accordion-trigger:hover .accordion-icon,
dl.base-accordion .accordion-trigger:focus .accordion-icon {
  border-color: var(--color-scheme-text);
}

.accordion__trigger--highlighted,
dl.base-accordion .title-style-highlighted .accordion-trigger,
dl.base-accordion .title-style-highligthed .accordion-trigger {
  appearance: none;
  background-color: var(--color-scheme);
  border: 0;
  color: var(--color-scheme-text);
  font-size: var(--fs-medium);
  line-height: var(--lh-medium);
  padding: 1rem 1.5rem;
  padding: 0.8em 1.2em;
  transition: 0.2s all;
}
.accordion__trigger--highlighted:hover, .accordion__trigger--highlighted:focus-visible,
dl.base-accordion .title-style-highlighted .accordion-trigger:hover,
dl.base-accordion .title-style-highligthed .accordion-trigger:hover,
dl.base-accordion .title-style-highlighted .accordion-trigger:focus-visible,
dl.base-accordion .title-style-highligthed .accordion-trigger:focus-visible {
  background-color: var(--color-scheme-hover);
  color: var(--color-scheme-text);
}
.accordion__trigger--highlighted:hover .accordion-icon, .accordion__trigger--highlighted:focus-visible .accordion-icon,
dl.base-accordion .title-style-highlighted .accordion-trigger:hover .accordion-icon,
dl.base-accordion .title-style-highligthed .accordion-trigger:hover .accordion-icon,
dl.base-accordion .title-style-highlighted .accordion-trigger:focus-visible .accordion-icon,
dl.base-accordion .title-style-highligthed .accordion-trigger:focus-visible .accordion-icon {
  border-color: var(--color-scheme-text);
}

.accordion__title,
dl.base-accordion .accordion-title {
  border: 0;
  border-radius: 0;
  padding: 0 5rem 0 0;
  font-size: var(--fs-medium);
  line-height: var(--lh-medium);
}

.accordion__icon,
dl.base-accordion .accordion-icon {
  height: 1.5rem;
  width: 1.5rem;
  right: 3rem;
}

.accordion__content,
dl.base-accordion dd {
  border: none;
  padding: 1.5rem;
  margin: 0 0 2rem;
}
.accordion__content .field:not(.field--cta-link),
dl.base-accordion dd .field:not(.field--cta-link) {
  margin-bottom: 2rem;
}
.accordion__content .field--contact-title,
dl.base-accordion dd .field--contact-title {
  font-weight: bold;
}

.accordion__content--highlighted,
dl.base-accordion dd.bg-color-highlighted {
  background-color: var(--color-fond-2);
  padding-inline-start: 2rem;
}

dl.base-accordion {
  border: 0;
}
dl.base-accordion > :first-child .accordion-trigger, dl.base-accordion > :first-child {
  border-radius: 0;
}
dl.base-accordion dt:not(:first-child), dl.base-accordion div:not(:first-child) dt, dl.base-accordion dd {
  border: none;
}
dl.base-accordion dt {
  margin-block-end: 1em;
}
dl.base-accordion:focus-within h3 {
  background: transparent;
}

.sm-links {
  display: flex;
  gap: 0.5em;
  margin: 0;
  padding: 0;
  list-style: none;
}

.sm-links__link {
  position: relative;
  display: block;
  width: 3.6rem;
  height: 3.6rem;
  transition: opacity 0.1s;
  border: 0.2rem solid currentColor;
  border-radius: 50%;
}
.sm-links__link:focus, .sm-links__link:hover, .sm-links__link:active {
  opacity: 0.7;
}

.sm-links__icon {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  padding: 25%;
}

.header-image {
  /*@include full-width;*/
  overflow: hidden;
}
.header-image::after {
  inset-block-start: 0;
}
.header-image .media-image,
.header-image .media-image__img {
  width: 100%;
}

.header-image__wave {
  display: block;
  position: absolute;
  width: 100%;
  height: 6.2vw;
  inset-block-start: 0;
  content: "";
  z-index: 2;
}

.header-image__wave-svg {
  fill: var(--color-scheme);
  height: auto;
  width: 100%;
}

.secondaryHeaderLogoWrapper > .l-container {
  z-index: 3;
  padding-bottom: 9rem;
}

.secondaryHeaderLogoWrapper .header-image__wave-svg {
  fill: var(--color-primary-2);
}

.secondaryHeaderLogoWrapper .block-views-blockcontent-header-content-header-block .block-heading {
  display: none;
}

.tile {
  position: relative;
  height: 100%;
  overflow: hidden;
  background-color: var(--color-scheme);
  aspect-ratio: 480/270;
}
.tile figure, .tile img {
  width: 100%;
  height: auto;
}
.tile .media-image__img {
  transition: 0.2s all;
}
.tile figure.media-image .media-image__wrapper .media-image__footer {
  inset-block-end: 4em;
  inset-inline-end: 0.5em;
  width: 100%;
  text-align: end;
  transition: 0.2s all;
}
.tile:hover .tile__title, .tile a:focus-visible .tile__title {
  padding-block-end: 2rem;
}
.tile:hover .media-image__img, .tile a:focus-visible .media-image__img {
  transform: scale(1.1);
}
.tile:hover figure.media-image .media-image__wrapper .media-image__footer, .tile a:focus-visible figure.media-image .media-image__wrapper .media-image__footer {
  inset-block-end: 4.4em;
}
.tile a:link,
.tile a:visited {
  color: var(--color-text);
}

.tile--carousel-slide .media-image,
.tile--carousel-slide .media-image img {
  width: 100%;
}
.tile--carousel-slide figure.media-image .media-image__wrapper .media-image__footer, .tile--carousel-slide:hover figure.media-image .media-image__wrapper .media-image__footer {
  inset-block-end: 0.5em;
}

.tile__title {
  position: absolute;
  inset-block-end: 0;
  width: 100%;
  padding: var(--space-sm) var(--space-md);
  backdrop-filter: blur(var(--filter-overlay-blur));
  background-color: rgba(255, 255, 255, 0.7);
  line-height: 1.4;
  transition: 0.2s all;
  z-index: 1;
  text-wrap: pretty;
}
.tile__title .field--type-smartdate .field__item:not(:first-child):not(:last-child) {
  display: none;
}
.tile__title .field--type-smartdate .field__item {
  display: inline;
}
.tile__title .field--type-smartdate .field__item + .field__item::before {
  display: inline;
  content: " - ";
}

.tiles-grid, .teaser-list--small .teaser-list__list,
.teaser-list--large .teaser-list__list {
  --tiles-grid-gap: var(--space-md);
}

.tiles-grid__list {
  display: grid;
  gap: var(--tiles-grid-gap);
  grid-template-columns: repeat(1, 1fr);
}

@media screen and (min-width: 980px) {
  .tiles-grid__list {
    grid-template-columns: repeat(3, 1fr);
  }
  .tiles-grid--small .tiles-grid__list, .teaser-list--small .teaser-list__list .tiles-grid__list {
    grid-template-columns: repeat(3, 1fr);
  }
  .tiles-grid--large .tiles-grid__list, .teaser-list--large .teaser-list__list .tiles-grid__list {
    grid-template-columns: repeat(2, 1fr);
  }
  .tiles-grid--large .tiles-grid__list:has(> *:last-child:nth-child(odd)) > *:first-child, .teaser-list--large .teaser-list__list .tiles-grid__list:has(> *:last-child:nth-child(odd)) > *:first-child {
    grid-column: 1/-1;
  }
}
.card {
  background-color: #fff;
}
.card.clickable {
  cursor: pointer;
}

.card__image {
  position: relative;
}
.card__image:has(.media-image__img) .node-meta__date {
  position: absolute;
  inset-block-end: 0;
}
.card__image .node-meta__date {
  width: 100%;
  padding: var(--space-sm) var(--space-md);
  backdrop-filter: blur(var(--filter-overlay-blur));
  background-color: rgba(255, 255, 255, 0.7);
  line-height: 1.4;
  transition: 0.2s all;
  z-index: 1;
  text-wrap: pretty;
}
.card__image .node-meta__date .field__item:not(:first-child):not(:last-child) {
  display: none;
}
.card__image .node-meta__date .field__item {
  display: inline;
}
.card__image .node-meta__date .field__item + .field__item::before {
  display: inline;
  content: " - ";
}
.card__image .media-image__footer {
  width: 100%;
  inset-block-end: 4em !important;
}
.card__image .media-image,
.card__image .media-image img {
  width: 100%;
}

.card__main {
  padding: var(--space-md);
}
.card__main .field--news-category {
  padding-block-end: var(--space-2xs);
  font-size: var(--fs-small);
  line-height: var(--lh-small);
  text-transform: uppercase;
  color: var(--color-secondary-3);
}

.card__title {
  margin-block-end: 0.5em;
}
.card__title a {
  text-decoration: none;
  font-size: var(--fs-medium);
  line-height: var(--lh-medium);
  color: var(--color-brand);
}
.card__title a[href]:hover {
  text-decoration: underline;
}

.card__content {
  font-size: var(--fs-small);
  line-height: var(--lh-small);
}

@media screen and (min-width: 980px) {
  .card--horizontal {
    display: grid;
    grid-template-columns: 1fr 2fr;
  }
  .card--horizontal .card__main {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-block-end: 3rem;
  }
}
/* Card Link BITV overrides */
a.card__link {
  text-decoration: none;
  color: var(--color-text);
}

a.card__link .field--title {
  font-size: var(--fs-medium);
  line-height: var(--lh-medium);
  color: var(--color-brand);
}

a.card__link:hover .field--title {
  text-decoration: underline;
}

.footer-columns > .region {
  text-wrap: pretty;
}

@media screen and (max-width: 979px) {
  .footer-columns {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 5rem 3rem;
  }
  .footer-columns > .region {
    width: calc(50% - 6rem);
  }
}
@media screen and (max-width: 779px) {
  .footer-columns {
    flex-direction: column;
  }
  .footer-columns > .region {
    width: 95vw;
  }
}
@media screen and (min-width: 980px) {
  .footer-columns {
    justify-content: space-between;
  }
  .footer-columns > .region {
    flex: 0 0 28%;
  }
  .footer-columns .region.region-footer-centered {
    margin-inline-start: -14rem;
  }
}
.link-box {
  display: block;
  background-color: var(--color-fond-2);
  position: relative;
  padding: var(--space-md) var(--space-4xl) var(--space-md) var(--space-md);
  text-decoration: none;
  color: var(--color-text);
  transition: 0.2s all;
}
.link-box:after {
  position: absolute;
  display: block;
  inset: 0 0 0 auto;
  width: 12rem;
  content: "";
  mask-image: url(../images/arrow-right.svg);
  mask-repeat: no-repeat;
  mask-position: 50%;
  mask-size: 1.25rem;
  background: var(--color-scheme-text);
}
.link-box:hover {
  background-color: var(--color-scheme);
  color: var(--color-scheme-text);
}
.link-box .field--teaser-title {
  font-size: var(--fs-large);
  line-height: var(--lh-large);
  font-weight: var(--fw-bold);
  margin-block-end: var(--space-xs);
}
.link-box p {
  display: inline;
}
.paragraph--bg-highlighted .link-box {
  background-color: #dedede;
}
.paragraph--bg-highlighted .link-box:hover {
  background-color: var(--color-scheme);
  color: var(--color-scheme-text);
}

.box {
  background-color: var(--color-fond-2);
  padding: var(--space-md);
}

.box__title {
  margin-block-end: var(--space-sm);
  font-size: var(--fs-large);
  font-weight: var(--fw-bold);
}

.underlined, .paragraph--teaser-list.paragraph--view-mode-teaser-recommendation .paragraph__title, .paragraph--two-columns .paragraph__title {
  text-decoration: underline;
  text-decoration-thickness: 1rem;
  text-underline-offset: 0.3em;
  line-height: 2;
}

.office-hours__item {
  display: flex;
  flex-wrap: wrap;
}

.office-hours__item-comments {
  width: 100%;
  display: block;
  padding-inline-start: 7.2em;
}
.office-hours__item-comments br,
.office-hours__item-comments + span br {
  display: none;
}

.highlighted-title, .view--projects .view__title a, .cta-button, .field--cta-link a {
  border: none;
  color: var(--color-scheme-text);
  background-color: var(--color-scheme);
  border: 2px solid var(--color-scheme);
  font-size: var(--fs-medium);
  line-height: var(--lh-medium);
  text-decoration: none;
  padding: 0.8em 1.2em;
  position: relative;
  display: flex;
  align-items: center;
  border: 0;
}

.field--cta-link {
  position: relative;
}
.field--cta-link .extlink {
  display: block;
  position: absolute;
  inset-inline-start: 1.6em;
  z-index: 1;
  color: var(--color-scheme-text);
}
.field--cta-link .extlink svg {
  height: 1.2em;
}
.field--cta-link .cta-button, .field--cta-link a {
  padding-inline-start: 3.5em;
}

.cta-button, .field--cta-link a {
  color: var(--color-scheme-text);
  transition: var(--transition-duration-buttons) all;
}
.cta-button:link, .field--cta-link a:link, .cta-button:visited, .field--cta-link a:visited {
  color: var(--color-scheme-text);
}
.cta-button:hover, .field--cta-link a:hover, .cta-button:focus-visible, .field--cta-link a:focus-visible {
  background-color: var(--color-scheme-hover);
  color: var(--color-scheme-text);
  text-decoration: none;
}
.cta-button:has(.icon), .field--cta-link a:has(.icon), .cta-button.has-icon, .field--cta-link a.has-icon {
  padding-inline-start: 3.5em;
}

.cta-button__icon {
  align-items: center;
  display: flex;
  position: absolute;
  inset: 0 0 0 0.8em;
  width: 2em;
  margin-inline-end: 1em;
}
.cta-button__icon .icon {
  display: flex;
  color: var(--color-scheme-text);
}
.cta-button__icon svg {
  width: 100%;
  fill: currentColor;
}

.slider-dots ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0;
  padding: 0;
  list-style: none;
}
.slider-dots li {
  margin: 0.5rem;
}
.slider-dots button {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  appearance: none;
  text-align: left;
  color: currentcolor;
  display: block;
  overflow: hidden;
  width: 1.2rem;
  height: 1.2rem;
  white-space: nowrap;
  text-indent: 3rem;
  border-radius: 50%;
  background: transparent;
  border: 1px solid var(--color-brand);
}
.slider-dots li.slick-active button {
  opacity: 1;
  border: 1px solid var(--color-brand);
  background: var(--color-brand);
  color: #fff;
}

.slider-dots--stage ul {
  justify-content: flex-start;
  margin: -0.8rem;
}
.slider-dots--stage li {
  margin: 0.8rem;
}
.slider-dots--stage button {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  appearance: none;
  text-align: left;
  color: currentcolor;
  width: 1.6rem;
  height: 1.6rem;
  opacity: 1;
  border: 1px solid white;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.5);
}
.slider-dots--stage li.slick-active button {
  background: white;
}

.slider-button {
  inset-block-start: calc(50% - 2.25rem);
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  appearance: none;
  text-align: left;
  color: currentcolor;
  transition: all 0.1s;
  background: #fff;
  border-radius: 50%;
  width: 4.5rem;
  height: 4.5rem;
  box-shadow: 0 0 0.6rem rgba(0, 0, 0, 0.35);
}
.slider-button[aria-disabled=true] {
  cursor: default;
  opacity: 0;
}

.slider-button__icon {
  height: 100%;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.slider-button__icon svg {
  fill: var(--color-brand);
  width: 1.6rem;
  height: 1.6rem;
}

@media screen and (max-width: 1445px) {
  .swiper-button-next, .swiper-rtl .swiper-button-prev {
    right: 2.25rem;
  }
  .swiper-button-prev, .swiper-rtl .swiper-button-next {
    left: 2.25rem;
  }
}
.back-to-top {
  display: flex;
  align-items: center;
  justify-content: center;
  position: fixed;
  inset-inline-end: var(--space-md);
  inset-block-end: var(--space-md);
  border-radius: 50%;
  aspect-ratio: 1;
  width: 6rem;
  background: var(--color-scheme);
  border: 0.1rem solid var(--color-fond);
  transform: scale(0);
  transition: 0.2s all;
  z-index: 11;
}
.back-to-top.is-visible {
  transform: scale(1);
}
.back-to-top:hover {
  background-color: var(--color-scheme-hover);
}

.back-to-top__icon {
  fill: #fff;
  width: 50%;
}

.klaro {
  font-size: var(--fs-tiny);
  line-height: var(--lh-tiny);
  color: var(--color-text);
}
.klaro .cookie-notice:not(.cookie-modal-notice) {
  background-color: #fff;
  border-radius: var(--border-radius);
  max-width: 44rem;
  box-shadow: none;
  border: 1px solid var(--color-line);
}
.klaro .cookie-notice:not(.cookie-modal-notice) .cn-body {
  padding: 2rem;
}
.klaro .cookie-notice:not(.cookie-modal-notice) .cn-body p {
  margin-top: 0;
  margin-bottom: 1.5rem;
}
.klaro .cookie-notice:not(.cookie-modal-notice) .cm-link.cn-learn-more {
  text-decoration: underline;
  color: var(--color-text);
}
.klaro .cookie-notice:not(.cookie-modal-notice) .cm-link.cn-learn-more:hover {
  text-decoration: none;
}
.klaro .cookie-modal .cm-service {
  margin-bottom: 2rem;
}
.klaro .cookie-modal p.purposes {
  display: none;
}
.klaro .cookie-modal-notice,
.klaro .cookie-modal .cm-modal.cm-klaro {
  background-color: #fff;
}
.klaro .cookie-modal .cm-modal .cm-header,
.klaro .cookie-modal .cm-modal .cm-footer {
  border-color: var(--color-line);
  padding: 3rem;
}
.klaro .cookie-modal .cm-modal .cm-body {
  padding: 3rem;
}
.klaro p.cm-powered-by {
  display: none;
}
.klaro .cookie-modal .cm-modal.cm-klaro {
  box-shadow: none;
}
@media (min-width: 660px) {
  .klaro .cookie-modal .cm-modal.cm-klaro {
    max-width: 50rem;
  }
}
.klaro .cookie-modal .cm-list-description,
.klaro .context-notice .cm-list-description,
.klaro .cookie-notice .cm-list-description {
  color: var(--color-text);
}
.klaro .cookie-modal .cm-modal .cm-header,
.klaro .cookie-modal .cm-list-title,
.klaro .context-notice .cm-list-title,
.klaro .cookie-notice .cm-list-title,
.klaro .cookie-modal .cm-list-description,
.klaro .context-notice .cm-list-description,
.klaro .cookie-notice .cm-list-description,
.klaro .cookie-modal .cm-modal .cm-body ul.cm-services li.cm-service p.purposes,
.klaro .cookie-modal .cm-modal .cm-body ul.cm-services li.cm-purpose p.purposes,
.klaro .cookie-modal .cm-modal .cm-body ul.cm-purposes li.cm-service p.purposes,
.klaro .cookie-modal .cm-modal .cm-body ul.cm-purposes li.cm-purpose p.purposes {
  font-size: var(--fs-tiny);
  line-height: var(--lh-tiny);
}
.klaro .cookie-modal .cm-list-title,
.klaro .context-notice .cm-list-title,
.klaro .cookie-notice .cm-list-title {
  margin-right: 0.5rem;
}
.klaro .cookie-modal .cm-list-label .slider::before,
.klaro .context-notice .cm-list-label .slider::before,
.klaro .cookie-notice .cm-list-label .slider::before {
  background-color: #fff;
}
.klaro .cookie-modal .cm-list-label .slider,
.klaro .context-notice .cm-list-label .slider,
.klaro .cookie-notice .cm-list-label .slider {
  background-color: #ddd;
  box-shadow: none !important;
}
.klaro .cookie-modal p, .klaro .cookie-modal strong, .klaro .cookie-modal h1, .klaro .cookie-modal h2, .klaro .cookie-modal ul, .klaro .cookie-modal li,
.klaro .context-notice p,
.klaro .context-notice strong,
.klaro .context-notice h1,
.klaro .context-notice h2,
.klaro .context-notice ul,
.klaro .context-notice li,
.klaro .cookie-notice p,
.klaro .cookie-notice strong,
.klaro .cookie-notice h1,
.klaro .cookie-notice h2,
.klaro .cookie-notice ul,
.klaro .cookie-notice li {
  color: var(--color-text);
}
.klaro .cookie-modal a:link,
.klaro .cookie-modal a:visited,
.klaro .context-notice a:link,
.klaro .context-notice a:visited,
.klaro .cookie-notice a:link,
.klaro .cookie-notice a:visited {
  text-decoration: underline;
  color: var(--color-text);
}
.klaro .cookie-modal a:hover,
.klaro .context-notice a:hover,
.klaro .cookie-notice a:hover {
  text-decoration: none;
}
.klaro .cookie-modal .cm-btn,
.klaro .context-notice .cm-btn,
.klaro .cookie-notice .cm-btn {
  background-color: var(--color-brand);
  border-radius: var(--border-radius);
  color: #fff;
  font-weight: var(--fw-bold);
  padding: 1rem 2rem;
  margin: 0 1rem 0 0;
  transition: 0.2s all;
}
.klaro .cookie-modal .cm-btn:last-child,
.klaro .context-notice .cm-btn:last-child,
.klaro .cookie-notice .cm-btn:last-child {
  margin-right: 0;
}
.klaro .cookie-modal .cm-btn:hover, .klaro .cookie-modal .cm-btn:focus-visible,
.klaro .context-notice .cm-btn:hover,
.klaro .context-notice .cm-btn:focus-visible,
.klaro .cookie-notice .cm-btn:hover,
.klaro .cookie-notice .cm-btn:focus-visible {
  background-color: var(--color-text);
}
.klaro .cookie-modal .cm-btn.cm-btn-info,
.klaro .context-notice .cm-btn.cm-btn-info,
.klaro .cookie-notice .cm-btn.cm-btn-info {
  background-color: var(--color-brand-2);
}
.klaro .cookie-modal .cm-btn.cm-btn-info:hover,
.klaro .context-notice .cm-btn.cm-btn-info:hover,
.klaro .cookie-notice .cm-btn.cm-btn-info:hover {
  background-color: var(--color-text);
}
.klaro .cookie-modal .cm-btn.cm-btn-success,
.klaro .context-notice .cm-btn.cm-btn-success,
.klaro .cookie-notice .cm-btn.cm-btn-success {
  background-color: #1fd0ae;
}
.klaro .cookie-modal .cm-btn.cm-btn-success:hover, .klaro .cookie-modal .cm-btn.cm-btn-success:focus-visible,
.klaro .context-notice .cm-btn.cm-btn-success:hover,
.klaro .context-notice .cm-btn.cm-btn-success:focus-visible,
.klaro .cookie-notice .cm-btn.cm-btn-success:hover,
.klaro .cookie-notice .cm-btn.cm-btn-success:focus-visible {
  background-color: var(--color-text);
}

.klaro_toggle_dialog {
  right: unset;
  left: 25px;
  background-size: 90%;
  background-position: center center;
}

.slider__container {
  --swiper-theme-color: var(--color-brand);
  position: relative;
}

.image-slider {
  padding-block: 4rem;
}
.image-slider .swiper-slide {
  transition: 0.2s all;
}
.image-slider .swiper-slide-prev {
  transform: scale(0.75);
}
.image-slider .swiper-slide-active {
  z-index: 2;
  transform: scale(1.25) translateY(-1.25rem);
}
.image-slider .swiper-slide-next {
  transform: scale(0.75);
}

.logo-slider-3-columns .swiper-wrapper {
  display: flex;
  align-items: center;
}

.logo-slider-4-columns .swiper-wrapper {
  display: flex;
  align-items: center;
}
.logo-slider-4-columns .swiper-slide {
  transform: scale(0.75);
}

.slider__formatter__wrapper {
  position: relative;
}

.event-slideshow .slider__slide, .event-slideshow .swiper-slide {
  transition: 0.2s all;
  font-size: 0.6666666667em;
}
.event-slideshow .slider__container {
  overflow: hidden;
  padding-block: 8rem 4rem;
}
@media screen and (min-width: 760px) {
  .event-slideshow .event-slider {
    overflow: visible;
  }
  .event-slideshow .event-slider .tile__title {
    opacity: 0;
    transition: 0.2s all;
  }
  .event-slideshow .event-slider .swiper-slide-active {
    z-index: 2;
    transform: scale(1.5) translateY(-1rem);
  }
  .event-slideshow .event-slider .swiper-slide-active .tile__title {
    opacity: 1;
  }
  .event-slideshow .event-slider .swiper-slide-active .media-image__footer {
    opacity: 0;
  }
}
.event-slideshow .swiper-pagination {
  bottom: -4rem;
  text-align: left;
}

.js-toggle-target:not([data-toggle-method=custom]) {
  display: none;
}
.js-toggle-target:not([data-toggle-method=custom])[aria-hidden=false] {
  display: block;
}

/*
 * Styling for the Navigation Toggle
 */
.nav-toggle {
  width: 5rem;
  aspect-ratio: 1;
  border: 0;
  padding: 0;
  appearance: 0;
  background-color: var(--color-primary-2);
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.nav-toggle.hidden {
  display: none;
}
.nav-toggle:focus-visible {
  outline: var(--focus-outline);
}
.nav-toggle .nav-toggle__icon {
  width: 100%;
  height: 100%;
}
.nav-toggle .nav-toggle__icon svg {
  fill: var(--color-brand);
}
.nav-toggle .nav-toggle__icon--menu {
  display: block;
}
.nav-toggle .nav-toggle__icon--close {
  display: none;
}
.nav-toggle[aria-expanded=true] .nav-toggle__icon--menu {
  display: none;
}
.nav-toggle[aria-expanded=true] .nav-toggle__icon--close {
  display: block;
}

.nav-toggle__target {
  display: none;
}
.nav-toggle__target[aria-hidden=false] {
  display: block;
}

@media screen and (max-width: 779px) {
  .nav-toggle__target {
    position: fixed;
    inset: 0;
    width: 100%;
    transform: translateX(100%);
    transition: transform var(--anim-duration) ease-out;
    background: var(--color-fond);
    overflow-y: auto;
  }
  .nav-toggle__target[aria-hidden=false] {
    transform: translateX(0);
  }
  *:where(body, html):has(.nav-toggle__target[aria-hidden=false]) {
    overflow: hidden;
  }
}
body.library-page .nav-toggle--main-menu {
  display: none;
}

body:not(.library-page) .nav-toggle--library-menu {
  display: none;
}
body:not(.library-page) .nav-toggle--library-menu.visible {
  display: block;
}

.nav-ui__container {
  width: 100%;
  position: absolute;
  z-index: 99;
}

.nav-ui {
  --icon-opacity: 0.3;
  font-size: var(--fs-base);
  line-height: var(--lh-base);
  background-color: var(--color-fond);
}
.nav-ui .menu__link {
  display: block;
  padding-block: 0.7rem;
  padding-inline: 1.5rem;
  color: var(--color-brand);
  text-decoration: none;
  transition: 0.2s all;
}
.nav-ui .menu__link:link, .nav-ui .menu__link:visited {
  color: var(--color-brand);
  text-decoration: none;
}
.nav-ui .menu__link .line:not(:last-of-type)::after {
  content: " /";
}
.nav-ui .has-children {
  position: relative;
}
.nav-ui .has-children > .menu__link {
  display: block;
  padding-inline-end: 4rem;
  width: 100%;
}
.nav-ui .has-children > .menu__link::after {
  display: block;
  width: 3rem;
  height: 100%;
  position: absolute;
  inset-block-start: 0;
  inset-inline-end: 0;
  content: "";
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' x='0' y='0' viewBox='0 0 29.63 50' xml:space='preserve'%3E%3Cpath fill='%23fff' d='M28.84 23.13 6.5.79a2.698 2.698 0 0 0-3.81 0l-1.9 1.9a2.698 2.698 0 0 0 0 3.81L19.29 25 .79 43.5a2.698 2.698 0 0 0 0 3.81l1.9 1.9a2.698 2.698 0 0 0 3.81 0l20.25-20.25c.07-.06.14-.08.2-.14l1.9-1.9a2.692 2.692 0 0 0-.01-3.79z'/%3E%3C/svg%3E");
  background-position: right 2rem center;
  background-repeat: no-repeat;
  background-size: 0.8rem;
  opacity: 0.4;
}
.nav-ui .menu__link--back {
  position: relative;
  padding-inline-start: 3.5rem;
  cursor: pointer;
  font-size: var(--fs-small);
  opacity: var(--icon-opacity);
  transition: 0.2s all;
}
.nav-ui .menu__link--back::before {
  display: block;
  width: 4rem;
  height: 100%;
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  content: "";
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' x='0' y='0' viewBox='0 0 29.63 50' xml:space='preserve'%3E%3Cpath fill='%23000' d='M28.84 23.13 6.5.79a2.698 2.698 0 0 0-3.81 0l-1.9 1.9a2.698 2.698 0 0 0 0 3.81L19.29 25 .79 43.5a2.698 2.698 0 0 0 0 3.81l1.9 1.9a2.698 2.698 0 0 0 3.81 0l20.25-20.25c.07-.06.14-.08.2-.14l1.9-1.9a2.692 2.692 0 0 0-.01-3.79z'/%3E%3C/svg%3E");
  background-position: right 2rem center;
  background-repeat: no-repeat;
  background-size: 0.8rem;
  transform: rotate(180deg);
  margin-inline-end: 1rem;
}
.nav-ui .menu__link--back::hover {
  opacity: 0;
}
.nav-ui .menu__link--parent {
  font-weight: var(--fw-bold);
}

.nav-ui__main {
  max-width: var(--w-wide);
  margin: 0 auto;
}
.nav-ui__main .menu .menu {
  display: none;
}
.nav-ui__main .menu--level-1 {
  font-weight: var(--fw-bold);
  padding-block: 3rem;
}

.nav-ui__levels-wrapper {
  font-weight: var(--fw-normal);
  filter: drop-shadow(0 0.4rem 0.4rem rgba(0, 0, 0, 0.2));
}
.nav-ui__levels-wrapper .wave {
  fill: var(--color-scheme, #0B4195);
}

.nav-ui__levels .menu--level-1 {
  display: none;
}
.nav-ui__levels .menu__item {
  position: relative;
}
.nav-ui__levels .menu__item .extlink {
  position: absolute;
  inset-inline-end: 0.25em;
}
.nav-ui__levels .menu__item .extlink svg {
  transform: scale(0.8);
}
.nav-ui__levels .menu__link {
  transition: 0.2s all;
}
.nav-ui__levels .menu__link:hover {
  background-color: rgba(255, 255, 255, 0.1);
  transition: none;
}
.nav-ui__levels .menu__link:link,
.nav-ui__levels .menu__link:visited {
  line-height: 1.3;
}
.nav-ui__levels .menu__link:link.is-active,
.nav-ui__levels .menu__link:visited.is-active {
  text-decoration: underline;
}
.nav-ui__levels .menu__link:hover {
  color: var(--color-brand);
}
.nav-ui__levels .menu .menu {
  display: none;
}

.nav-ui__levels-close {
  position: absolute;
  top: 2rem;
  right: 2rem;
  padding: 0;
  background: transparent;
  border: 0;
  width: 4rem;
  aspect-ratio: 1;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cline x1='30' y1='30' x2='70' y2='70' stroke='%23fff' stroke-width='6'/%3E%3Cline x1='70' y1='30' x2='30' y2='70' stroke='%23fff' stroke-width='6'/%3E%3C/svg%3E");
  text-indent: 100%;
  overflow: hidden;
}

@media screen and (max-width: 779px) {
  .nav-ui {
    overflow-x: hidden;
    margin-top: 7.5rem;
  }
  .nav-ui .menu__link {
    display: block;
    padding: 1rem 2rem;
    border-block-end: 0.1rem solid var(--color-line);
  }
  .nav-ui .menu__link--back {
    padding-inline-start: 3.5rem;
    padding-block-start: 1.2rem;
    color: var(--color-contrast-dimmed);
    opacity: 1;
  }
  .nav-ui .menu--level-1 {
    padding-block: 5rem;
  }
  .nav-ui .menu--level-1 .menu__link {
    display: flex;
    gap: 1rem;
  }
  .nav-ui__main,
  .nav-ui__levels {
    position: absolute;
    width: 100%;
    top: 0;
  }
  .nav-ui__levels .menu {
    position: absolute;
    inset-block-start: 0;
    inset-inline-start: 0;
    width: 100dvw;
    min-height: calc(100vh - 7.5rem);
    transform: translate(100%);
    transition: 0.2s transform;
    background-color: #fff;
  }
  .nav-ui__levels .menu.active {
    transform: translate(0);
  }
  .nav-ui__levels-close {
    display: none;
  }
}
@media screen and (min-width: 780px) {
  .nav-ui .menu--level-1 .menu__item.has-children > .menu__link::after {
    display: none;
  }
  .nav-ui__main .menu--level-1 {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
  }
  .nav-ui__main .menu--level-1 .menu__item {
    margin-inline-end: 3rem;
  }
  .nav-ui__main .menu--level-1 .menu__item > .menu__link {
    padding-inline: 1.5rem 4rem;
    padding-block: 1rem;
  }
  .nav-ui__main .menu--level-1 .menu__item:not(.active) .menu__link:hover {
    background: var(--color-fond-2);
  }
  .nav-ui__main .menu--level-1 .menu__item.active > .menu__link {
    background-color: var(--color-nav-bg);
    color: #fff;
  }
  .nav-ui__levels-wrapper {
    position: relative;
    width: 100%;
    margin-block-end: 12rem;
    background-color: var(--color-scheme);
  }
  .nav-ui__levels-wrapper.active {
    display: block;
    margin-block-end: 9vw;
  }
  .nav-ui__levels-wrapper .wave {
    position: absolute;
    bottom: calc(-6.2vw + 1px);
  }
  .nav-ui__levels {
    display: flex;
    max-width: var(--w-wide);
    margin-inline: auto;
    padding-block-start: 3rem;
  }
  .nav-ui__levels .menu .menu {
    display: none !important;
  }
  .nav-ui__levels .menu {
    flex-basis: 38rem;
    display: none;
  }
  .nav-ui__levels .menu.active {
    display: block;
  }
  .nav-ui__levels .menu__link:link,
  .nav-ui__levels .menu__link:visited {
    color: var(--color-scheme-text);
  }
  .nav-ui__levels .menu__item.active > .menu__link {
    background-color: rgba(255, 255, 255, 0.1);
  }
  .nav-ui__levels .menu__item.has-children.active > .menu__link::after {
    background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' x='0' y='0' viewBox='0 0 29.63 50' xml:space='preserve'%3E%3Cpath fill='%23fff' d='M28.84 23.13 6.5.79a2.698 2.698 0 0 0-3.81 0l-1.9 1.9a2.698 2.698 0 0 0 0 3.81L19.29 25 .79 43.5a2.698 2.698 0 0 0 0 3.81l1.9 1.9a2.698 2.698 0 0 0 3.81 0l20.25-20.25c.07-.06.14-.08.2-.14l1.9-1.9a2.692 2.692 0 0 0-.01-3.79z'/%3E%3C/svg%3E");
    opacity: 1;
  }
  .nav-ui__levels .menu--level-1 {
    display: none !important;
  }
  .nav-ui__levels .menu__item--back {
    display: none;
  }
}
.embedded-entity.align-left .media-image {
  float: left;
  margin-right: var(--gutter-inside);
}
.embedded-entity.align-right .media-image {
  float: right;
  margin-left: var(--gutter-inside);
}
.embedded-entity.align-center .media-image {
  margin-left: auto;
  margin-right: auto;
}

.media-image__footer {
  font-size: var(--fs-tiny);
  line-height: var(--lh-tiny);
}
.media-image__footer a {
  color: currentcolor;
}

.media-image__copyright {
  position: absolute;
  right: 0;
  bottom: 0;
  text-align: end;
  width: max-content;
}

.media-image__caption {
  font-size: var(--fs-small);
  line-height: var(--lh-small);
}
.media-image__caption a {
  color: currentcolor;
}

.media-image__img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
}

.media-image__wrapper {
  position: relative;
}

.pswp__dynamic-caption.pswp__dynamic-caption--below {
  max-width: unset;
  padding: 0;
}
.pswp__dynamic-caption.pswp__dynamic-caption--below .media-image__footer-background {
  backdrop-filter: blur(var(--filter-overlay-blur));
  background-color: rgba(255, 255, 255, 0.8);
  color: var(--color-text);
  display: flex;
  justify-content: flex-end;
  align-items: center;
  justify-items: stretch;
  align-content: center;
  overflow: hidden;
  padding-block: 1.5rem;
  padding-inline: 1.5rem;
}
.pswp__dynamic-caption.pswp__dynamic-caption--below .media-image__footer-background.has_caption {
  grid-template-columns: 3fr 1fr;
  display: grid;
}
.pswp__dynamic-caption.pswp__dynamic-caption--below .media-image__copyright, .pswp__dynamic-caption.pswp__dynamic-caption--below .media-image__ai-marker {
  position: relative;
}

/**
 * @file
 * Visual styles for menu.
 */
@media screen and (max-width: 779px) {
  .menu-main .menu--level-1 .menu-link {
    padding: 0.25rem 1rem;
  }
  .menu-main .menu--level-1 > .menu__item .menu__item {
    padding-inline-start: 2rem;
  }
  .menu-main > .menu .menu {
    margin-block: 1rem;
  }
}
@media screen and (min-width: 780px) {
  .menu-main__toggle {
    display: none;
  }
  .menu-main .menu__item a {
    padding-inline: 1.5rem;
    padding-block: 0.5rem;
    text-align: left;
    line-height: 1.3;
  }
  .menu-main .menu--level-1 > .menu__item > a {
    padding-inline: 3rem;
    padding-block: 1.5rem;
  }
  .menu-main .menu--level-1 > .menu__item > a.active, .menu-main .menu--level-1 > .menu__item > a:hover, .menu-main .menu--level-1 > .menu__item > a:focus {
    background: rgba(0, 0, 0, 0.1);
  }
}
/* Main menu heading hack 
.nav-ui__levels a.menu__link--parent {
  cursor: default;
  pointer-events: none;
}

.nav-ui__levels a.menu__link--parent:hover {
  background: none;
}*/
.menu-account {
  font-size: var(--fs-small);
  line-height: var(--lh-small);
}
.menu-account .menu__item {
  display: inline;
  margin-inline-start: 1em;
}

.field__label {
  font-weight: bold;
}

.field--label-inline .field__label,
.field--label-inline .field__items {
  float: inline-start;
}

.field--label-inline .field__label,
.field--label-inline > .field__item,
.field--label-inline .field__items {
  margin-inline-end: 0.5em;
}

.field--label-inline .field__label::after {
  content: ":";
}

.field__items {
  list-style: none;
  padding-inline-start: 0;
}

.file .filetype {
  text-transform: uppercase;
}

.field--link:not(.field--cta-link) a {
  color: var(--color-brand);
}
.field--link:not(.field--cta-link) a:hover {
  text-decoration: none;
}
.field--link:not(.field--cta-link) .extlink {
  margin-inline-end: 0.3em;
}
.field--link:not(.field--cta-link) .extlink svg {
  color: var(--color-brand);
}

.field--cta-link li:not(:last-child) {
  margin-block-end: var(--text-block-margin);
}
/**
 * @file
 * Visual styles for nodes.
 */
.node--view-mode-full .node__content {
  padding-block-end: var(--space-lg);
}

.node--unpublished {
  background-color: var(--color-unpublished-bg);
}

.node__header {
  position: relative;
}
.node__header:has(.header-image) .media-image__wrapper {
  position: relative;
}
.node__header:has(.header-image) .media-image__infos {
  position: absolute;
  bottom: 0;
  width: 100%;
}
.node__header:has(.header-image) .media-image__footer-background {
  backdrop-filter: blur(var(--filter-overlay-blur));
  background-color: rgba(255, 255, 255, 0.8);
  color: var(--color-brand);
  display: flex;
  justify-content: flex-end;
  align-items: center;
  justify-items: stretch;
  align-content: center;
  position: relative;
  inset-inline: 50%;
  margin-inline: calc(var(--vw, 1vw) * -50);
  width: calc(var(--vw, 1vw) * 100);
  overflow: hidden;
  padding-block: 2rem;
  padding-inline: 3rem;
}
.node__header:has(.header-image) .media-image__footer-background.media-image__footer-background__has_caption {
  grid-template-columns: 3fr 1fr;
  display: grid;
}
.node__header:has(.header-image) .node__meta {
  inset-block-end: 3rem;
  backdrop-filter: blur(var(--filter-overlay-blur));
  background-color: rgba(255, 255, 255, 0.8);
  color: var(--color-text);
  margin-block-end: 6rem;
}
.node__header:has(.header-image) figure.media-image .media-image__wrapper .media-image__footer,
.node__header:has(.header-image) div.media-image--copyright-and-license-only .media-image__footer {
  color: var(--color-text);
  text-shadow: none;
  position: static;
  display: flex;
  justify-content: end;
}
.node__header:has(.header-image) .media-image__caption {
  color: var(--color-text);
}
.node__header:has(.header-image) .media-image__copyright {
  position: static;
  color: var(--color-text);
}

.node__meta {
  display: inline-block;
  padding-block: 2rem;
  padding-inline: 3rem 8rem;
  background-color: var(--color-brand);
  color: #fff;
  font-weight: var(--fw-bold);
  font-size: var(--fs-medium);
  line-height: var(--lh-medium);
}

.node-meta__category {
  color: var(--color-primary-1);
}

.node--type-news.node--view-mode-full {
  box-sizing: content-box;
  margin-inline: auto;
  padding-inline: var(--gutter-outside);
  max-width: var(--w-narrow);
}

.view__filter {
  margin-block-end: var(--space-lg);
}

.view--news.view--display-block_1 > .view__content {
  margin-block-end: var(--space-xl);
}

.view--projects .view__title a {
  color: var(--color-scheme-text);
  transition: var(--transition-duration-buttons) all;
}
.view--projects .view__title a:link, .view--projects .view__title a:visited {
  color: var(--color-scheme-text);
}
.view--projects .view__title a:hover {
  background-color: var(--color-scheme-hover);
  color: var(--color-scheme-text);
  text-decoration: none;
}

.views-view-grid.cols-3 .views-row {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: var(--gutter-inside);
}
.views-view-grid.cols-3 .views-row .views-col {
  width: 100% !important;
}

@media screen and (min-width: 980px) {
  .views-view-grid.cols-3 .views-row {
    grid-template-columns: repeat(3, 1fr);
  }
  .views-view-grid.cols-3 .views-col .card {
    height: 100%;
  }
}
/*
 * Styling for the Navigation Toggle
 */
.block-search {
  margin-inline-start: auto;
}

/**
 * @file
 * Stylesheet for results generated by the Search module.
 */
.search-results {
  list-style: none;
}

/* Suchergebnisseite */
.hal-search #views-exposed-form-search-search-block {
  max-width: 749px;
}
.hal-search input#edit-search {
  display: block;
  padding: 0.6em 2.5em 0.6em 1em;
  height: 5.4rem;
  width: 100%;
}
.hal-search #edit-submit-search:hover {
  cursor: pointer;
}
.hal-search h2.search-result-heading {
  color: var(--color-brand);
  font-size: var(--fs-large);
  line-height: var(--lh-large);
  font-weight: bold;
  margin-block: 7rem 4rem;
}
.hal-search a {
  text-decoration: none;
}
.hal-search li.view__item {
  border-bottom: 1px solid var(--color-brand);
  margin-bottom: var(--space-lg);
  padding-bottom: var(--space-sm);
}
.hal-search .tile {
  overflow: visible;
  background-color: transparent;
  aspect-ratio: auto;
}
.hal-search .node__content {
  padding-block-end: 0;
}
.hal-search h2.card__title,
.hal-search h2.card__title a,
.hal-search h2.card__title .field--title,
.hal-search a .field--title,
.hal-search .node__title,
.hal-search .tile__title {
  font-size: var(--fs-base);
  line-height: var(--lh-medium);
  color: var(--color-brand);
  padding: 0;
  margin-block-end: 0.5em;
  position: relative;
  background: none;
  text-decoration: underline;
  transition: none;
}
.hal-search .field--teaser-text {
  font-size: var(--fs-tiny);
}
.hal-search .field--teaser-image,
.hal-search .field--project-category,
.hal-search .field--news-category,
.hal-search .node-meta__date {
  display: none;
}
.hal-search article.card {
  background-color: transparent;
}
.hal-search article .card__main {
  padding: 0;
}
.hal-search .tile a:hover .tile__title,
.hal-search .tile a:focus-visible .tile__title {
  padding-block-end: 0;
}
.hal-search .pager__item {
  margin: var(--space-xs);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1/1;
  height: 1.5em;
  font-size: 1em;
  line-height: 1;
  color: var(--color-primary-2);
  background: var(--color-primary-1);
  border-radius: 1em;
  font-weight: bold;
}
.hal-search .pager__item--previous,
.hal-search .pager__item--next {
  height: 0.5em;
  font-size: 2em;
  color: var(--color-primary-1);
  background: transparent;
}
@media (width < 1430px) {
  .hal-search {
    padding: var(--gutter-outside);
  }
}

.form-item label.is-required::after {
  content: "*";
}

.form-item,
.form-actions {
  margin-top: 1em;
  margin-bottom: 1em;
}

.form-item--text input,
.form-item--search input,
.form-item--textarea textarea {
  appearance: none;
}

.form-item--text input,
.form-item--search input,
.form-item--textarea textarea,
.form-item--select select {
  color: var(--color-form-text);
  border: 0.1rem solid var(--color-form-border);
  border-radius: 0;
  background: var(--color-form-fond);
}

.form-item__description {
  font-size: 0.85em;
}

.form-item input.error,
.form-item textarea.error,
.form-item select.error {
  border: 2px solid var(--color-form-error);
}

.form-item__error-message::before {
  display: inline-block;
  width: 14px;
  height: 14px;
  content: "";
  vertical-align: sub;
  background-size: contain;
}

.form-item-group {
  display: flex;
  flex-wrap: wrap;
  margin-left: -0.625em;
}
.form-item-group > .form-item {
  margin-left: 0.625em;
}

.form-checkboxes .form-item,
.form-radios .form-item {
  margin-block: 0.4em;
}

.form--type-radio .description,
.form--type-checkbox .description {
  margin-inline-start: 2.4em;
}

.form-select-container {
  position: relative;
  height: 5.4rem;
  border: 0.1rem solid var(--color-form-border);
}
.form-select-container select {
  cursor: pointer;
  inset: 0;
  appearance: none;
  background-color: transparent;
  border: none;
  width: 100%;
  height: 100%;
  padding: 0.25em 2.5em 0.25em 1em;
}
.form-select-container select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 black;
}
.form-select-container select option {
  background-color: white;
}
.form-select-container .icon {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1;
  pointer-events: none;
}
.form-select-container .icon svg {
  height: 35%;
  width: auto;
  fill: currentColor;
}

/**
 * @file
 * Visual styles for a resizable textarea.
 */
.form-textarea-wrapper textarea {
  display: block;
  box-sizing: border-box;
  width: 100%;
  margin: 0;
}

/**
 * @file
 * Visual styles for inline forms.
 */
.form--inline .form-item {
  float: left; /* LTR */
  margin-right: 0.5em; /* LTR */
}

[dir=rtl] .form--inline .form-item {
  float: right;
  margin-right: 0;
  margin-left: 0.5em;
}

/* This is required to win over specificity of [dir="rtl"] .form--inline .form-item */
[dir=rtl] .views-filterable-options-controls .form-item {
  margin-right: 2%;
}

.form--inline .form-item-separator {
  margin-top: 2.3em;
  margin-right: 1em; /* LTR */
  margin-left: 0.5em; /* LTR */
}

[dir=rtl] .form--inline .form-item-separator {
  margin-right: 0.5em;
  margin-left: 1em;
}

.form--inline .form-actions {
  clear: left; /* LTR */
}

[dir=rtl] .form--inline .form-actions {
  clear: right;
}

.webform {
  max-width: 933px;
  margin: 3em 0;
  /* Newsletter Datenschutz hack */
}
.webform input,
.webform select,
.webform textarea {
  max-width: 100%;
}
.webform input.form-text, .webform input.form-email {
  height: 5.4rem;
  padding: 0.25em 2.5em 0.25em 1em;
}
.webform .fieldset__legend.is-required,
.webform .form-item--type-select label,
.webform .form-item--type-text label,
.webform .form-item--type-email label {
  color: var(--color-scheme);
  font-weight: bold;
  margin-bottom: 0.375em;
}
.webform #edit-datenschutzbestimmungen-akzeptieren---description:after,
.webform .form-item label.is-required:after,
.webform .fieldset-newsletter-an-abmelden .is-required:after,
.webform .fieldset-newsletterliste .is-required:after {
  content: " *";
  color: red;
  font-weight: bold;
}
.webform label.option {
  vertical-align: middle;
}
.webform label:not(.option),
.webform .fieldset__legend {
  display: block;
}
.webform .form-item-group {
  margin-bottom: -1em;
}
.webform .form-item {
  margin-bottom: 1em;
}
.webform .fieldset__legend {
  margin-bottom: 0.375em;
}
.webform .form-item__description {
  margin-top: 0.125em;
}
.webform .form-item--datenschutzbestimmungen-akzeptieren- {
  display: flex;
  flex-direction: row-reverse;
  align-items: baseline;
  justify-content: flex-end;
  gap: 5px;
}

.webform-horizontal-rule {
  border: 0;
  background-color: var(--color-line);
  height: 1px;
  margin: 1em 0 2em 0;
}

.webform-element-help {
  font-size: 0.75em;
  line-height: 1.2em;
  display: inline-block;
  width: 1.2em;
  height: 1.2em;
  text-align: center;
  vertical-align: super;
  color: var(--color-webform-help-text);
  border-radius: 50%;
  background: var(--color-webform-help-fond);
}
.webform-element-help:focus, .webform-element-help:active, .webform-element-help:hover {
  cursor: help;
  text-decoration: none;
  background: var(--color-webform-help-fond--hover);
}

.ui-tooltip.webform-element-help--tooltip {
  max-width: var(--w-min);
  color: var(--color-webform-tooltip-text);
  border: 0;
  border-radius: 0;
  background: var(--color-webform-tooltip-fond);
  box-shadow: none;
}

form .field-multiple-table {
  margin: 0;
}

form .field-multiple-table .field-multiple-drag {
  width: 30px;
  padding-right: 0; /* LTR */
}

[dir=rtl] form .field-multiple-table .field-multiple-drag {
  padding-left: 0;
}

form .field-multiple-table .field-multiple-drag .tabledrag-handle {
  padding-right: 0.5em; /* LTR */
}

[dir=rtl] form .field-multiple-table .field-multiple-drag .tabledrag-handle {
  padding-right: 0;
  padding-left: 0.5em;
}

form .field-add-more-submit {
  margin: 0.5em 0 0;
}

tr.odd .form-item,
tr.even .form-item {
  margin-top: 0;
  margin-bottom: 0;
}

label.option {
  display: inline;
  font-weight: normal;
}

.form-composite > legend,
.label {
  display: inline;
  margin: 0;
  padding: 0;
  font-size: inherit;
  font-weight: bold;
}

.marker {
  color: #e00;
}

abbr.tabledrag-changed,
abbr.ajax-changed {
  border-bottom: none;
}

.form-submit:focus-visible {
  outline: var(--focus-outline);
}

/* Basic styling for the login page */
.user-login-form {
  font-family: var(--font-ui);
  max-width: 60rem;
  margin: 4rem auto;
  padding: 5rem 4rem;
  background: var(--color-login-bg);
}
.user-login-form .form-item {
  margin-bottom: 2rem;
}
.user-login-form input[type=text],
.user-login-form input[type=password] {
  width: 100%;
}
.user-login-form label {
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.2;
  display: block;
  margin: 0 0 0.5rem;
  text-transform: uppercase;
  color: var(--color-login-label);
}
.user-login-form .form-item__description {
  font-size: var(--fs-tiny);
  color: var(--color-login-description);
  margin: 0.3rem 0 0 0;
}

.search-form {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
  position: relative;
}
.search-form .form-item {
  margin: 0;
}
.search-form .form-item--type-search {
  display: inline-block;
}
.search-form .form-search {
  font-size: var(--fs-small);
  color: var(--color-brand);
  border-radius: 1.5em;
  border: 0;
  padding: 0.7em 1em;
  transition: 0.2s all;
  width: 7em;
}
.search-form .form-search:focus {
  width: 18rem;
}
@media screen and (min-width: 780px) {
  .search-form .form-search {
    width: 10em;
  }
}
@media screen and (min-width: 980px) {
  .search-form .form-search:focus {
    width: 18em;
  }
}
.search-form .form-actions {
  position: absolute;
  inset-block-start: 0;
  inset-inline-end: 0;
  height: 100%;
  width: auto;
  margin: 0;
}
.search-form .button {
  width: 100%;
  height: 100%;
  padding: 0;
  border-radius: 0;
  aspect-ratio: 1;
}
.search-form .form-submit {
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26.15 26.219'%3E%3Cpath fill='%230B4195' d='M20.842 18.719a11.566 11.566 0 0 0 2.422-7.086C23.265 5.208 18.057 0 11.632 0S0 5.208 0 11.632s5.208 11.632 11.632 11.632c2.518 0 4.842-.808 6.746-2.168l5.423 5.122 2.349-2.487-5.308-5.013Zm-3.404-1.281a8.157 8.157 0 0 1-5.806 2.405c-4.528 0-8.211-3.683-8.211-8.211s3.684-8.211 8.211-8.211 8.211 3.683 8.211 8.211a8.157 8.157 0 0 1-2.405 5.806Z' id='search'/%3E%3C/svg%3E");
  background-position: center;
  background-size: 45%;
  background-repeat: no-repeat;
  border: 0;
  text-indent: 100%;
  overflow: hidden;
}

.site-header {
  background-color: var(--color-scheme);
  color: var(--color-scheme-text);
}
.site-header a:link,
.site-header a:visited {
  color: currentColor;
  text-decoration: none;
}
.site-header .l-container {
  position: relative;
  box-sizing: border-box;
}

.site-header__top {
  display: flex;
  gap: 2rem;
  padding-block: 1.2rem;
  position: relative;
  z-index: 3;
}
@media screen and (max-width: 779px) {
  .site-header__top {
    padding-block-end: 4rem;
  }
}
.site-header__top .contextual {
  transform: translateX(3rem);
}

.site-header__top-region {
  display: flex;
  justify-content: space-between;
  flex-basis: calc(100% - 7rem);
  align-items: center;
  gap: 2rem;
  height: fit-content;
}
@media screen and (max-width: 779px) {
  .site-header__top-region {
    gap: 1rem;
  }
}

.site-header__branding {
  align-content: center;
  width: clamp(17rem, 30vw, 46rem);
}
@media screen and (max-width: 779px) {
  .site-header__branding {
    flex-basis: 100%;
  }
}

.site-header__menu-button {
  z-index: 3;
}
@media screen and (max-width: 779px) {
  .site-header__menu-button {
    transform: scale(0.8);
  }
}

.site-header__search-button {
  position: absolute;
  inset-block-start: 2rem;
  inset-inline-end: 18rem;
  z-index: 3;
}
@media screen and (max-width: 779px) {
  .site-header__search-button {
    transform: scale(0.6);
    inset-block-start: 0.8rem;
    inset-inline-end: 8rem;
  }
}

.secondaryHeaderLogoWrapper {
  background-color: var(--color-primary-2);
}

.site-footer {
  padding-block: 6rem;
  background-color: var(--color-scheme);
  color: var(--color-scheme-text);
  font-size: var(--fs-small);
  line-height: var(--lh-small);
}
.site-footer a {
  color: var(--color-scheme-text);
  text-decoration-thickness: 1px;
}
.site-footer a:hover {
  text-decoration: none;
}
.site-footer a:focus-visible {
  color: var(--color-scheme-text);
  text-decoration: none;
  outline: 1px solid var(--color-scheme-text);
}
.site-footer h2,
.site-footer h3,
.site-footer strong,
.site-footer b {
  font-weight: var(--fw-bold);
}
.site-footer .block-heading {
  margin-block-end: var(--text-block-margin);
}
.site-footer .footer-logo__svg {
  fill: var(--color-scheme-text);
  width: 60%;
  height: auto;
  aspect-ratio: 2.5/1;
  margin-block-end: 2rem;
}
@media screen and (max-width: 779px) {
  .site-footer .footer-logo__svg {
    fill: var(--color-scheme-text);
    width: 100%;
    max-width: 280px;
  }
}

.site-footer__sm-links {
  margin-block-start: var(--space-md);
}

.region-header {
  --header-inset: 8rem;
}
@media all and (max-width: 800px) {
  .region-header {
    --header-inset: 4rem;
  }
}
.region-header .block-page-title-block {
  margin-block-start: 3rem;
  box-sizing: content-box;
  max-width: var(--w-wide);
  margin-inline: auto;
  padding-inline: var(--gutter-outside);
}
.region-header .block-page-title-block .page-title {
  margin-inline-start: var(--header-inset);
}
.region-header .block-system-breadcrumb-block {
  box-sizing: content-box;
  max-width: var(--w-wide);
  margin-inline: auto;
  padding-inline: var(--gutter-outside);
}
.region-header .block-system-breadcrumb-block .breadcrumb {
  margin-inline-start: var(--header-inset);
}

.sitemap {
  margin: 8rem 0;
}
.sitemap li::marker {
  color: var(--color-brand);
}
.sitemap h2 {
  font-size: var(--fs-xlarge);
  line-height: var(--lh-xlarge);
  margin: 4rem 0 2rem 0;
  color: var(--color-brand);
}
.sitemap ul {
  margin-bottom: 1rem;
}

.paragraph, .node--type-landing-page .paragraph {
  margin-block: 8rem;
}
.paragraph--bg-highlighted, .node--type-landing-page .paragraph--bg-highlighted {
  background-color: var(--color-fond-2);
  padding-block: 4rem;
}
.paragraph--full-width, .node--type-landing-page .paragraph--full-width {
  position: relative;
  inset-inline: 50%;
  transform: translateX(calc(var(--vw, 1vw) * -50));
  width: calc(var(--vw, 1vw) * 100);
}
@media screen and (max-width: 1199px) {
  .paragraph--full-width .paragraph__title, .node--type-landing-page .paragraph--full-width .paragraph__title {
    padding-inline: var(--gutter-outside);
  }
}
.paragraph .paragraph__title, .node--type-landing-page .paragraph .paragraph__title {
  margin-block-start: 0;
}
.paragraph .field--cta-link, .node--type-landing-page .paragraph .field--cta-link {
  margin-block-start: var(--space-lg);
  margin-inline: var(--gutter-outside);
  text-align: end;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media screen and (min-width: 780px) {
  .paragraph .field--cta-link, .node--type-landing-page .paragraph .field--cta-link {
    align-items: flex-end;
  }
}
.paragraph .field--cta-link a, .node--type-landing-page .paragraph .field--cta-link a {
  width: 100%;
}
@media screen and (min-width: 780px) {
  .paragraph .field--cta-link a, .node--type-landing-page .paragraph .field--cta-link a {
    width: fit-content;
  }
}
.paragraph .field--cta-link .field__item, .node--type-landing-page .paragraph .field--cta-link .field__item {
  display: flex;
  flex-direction: row;
  position: relative;
  align-items: center;
}

.paragraph__wrap {
  margin-inline: auto;
  max-width: var(--w-wide);
}

.paragraph__title {
  margin-block-start: 0;
}

@media screen and (max-width: 779px) {
  .paragraph, .node--type-landing-page .paragraph {
    margin-block: 4rem;
  }
}
.paragraph--download .field--download .file a {
  position: relative;
  display: block;
  background-color: var(--color-scheme);
  color: var(--color-scheme-text);
  font-size: var(--fs-medium);
  line-height: var(--lh-medium);
  padding: 0.8em 8rem 0.8em 1.2em;
  transition: 0.2s all;
}
.paragraph--download .field--download .file a:after {
  position: absolute;
  display: block;
  width: 8rem;
  inset: 0 0 0 auto;
  content: "";
  mask-image: url(../images/icon-download.svg);
  mask-repeat: no-repeat;
  mask-position: 50%;
  mask-size: 2.2rem;
  background: var(--color-scheme-text);
}
.paragraph--download .field--download .file a:link, .paragraph--download .field--download .file a:visited {
  display: block;
  margin-block-end: 1em;
  color: var(--color-scheme-text);
  text-decoration: none;
}
.paragraph--download .field--download .file a:hover, .paragraph--download .field--download .file a:focus-visible {
  background-color: var(--color-scheme-hover);
  color: var(--color-scheme-text);
}

.paragraph--teaser-list.paragraph--view-mode-teaser-recommendation .paragraph__title {
  display: inline-block;
  color: var(--color-scheme);
}
.paragraph--teaser-list.paragraph--view-mode-teaser-recommendation .paragraph {
  margin: 0;
}
.paragraph--teaser-list.paragraph--view-mode-teaser-recommendation .teaser-list__item {
  margin-block-end: var(--space-md);
}
.paragraph--teaser-list.paragraph--view-mode-teaser-recommendation .paragraph--teaser {
  margin-block-end: 1em;
}
.paragraph--teaser-list.paragraph--view-mode-teaser-recommendation .tiles-grid__list {
  display: block;
}
.paragraph--teaser-list.paragraph--view-mode-teaser-recommendation .extlink {
  display: none;
}

.paragraph--two-column-contact .field--address {
  margin-block-end: var(--space-sm);
}
.paragraph--two-column-contact .base-accordion dd {
  padding: 0;
}

.paragraph--cta-button:has(.extlink) {
  position: relative;
}
.paragraph--cta-button:has(.extlink) .extlink {
  position: relative;
}
.paragraph--cta-button:has(.extlink) .extlink svg {
  position: relative;
  margin-block: 0;
  margin-inline: 0;
}

.paragraph--cta-button.paragraph--view-mode-button-right {
  text-align: right;
}
.paragraph--cta-button.paragraph--view-mode-button-right div.cta-right {
  display: inline-block;
  position: relative;
}

.paragraph--embed-iframe .field--embed-iframe-title {
  margin-block-end: var(--space-md);
}

.paragraph--slide, .node--type-landing-page .paragraph--slide {
  margin: 0;
  padding: 0;
}

@media screen and (max-width: 500px) {
  :where(.logo-slider-3-columns, .logo-slider-4-columns) .field--silde-image {
    display: flex;
    justify-content: center;
  }
}
.paragraph--view-embed .field--cta-link {
  text-align: end;
  margin-block-start: var(--space-lg);
}
.paragraph--view-embed .field--cta-link .extlink {
  color: var(--color-scheme-text);
}
.paragraph--view-embed .field--cta-link:has(.extlink) a {
  padding-inline-start: 3em;
}
.paragraph--view-embed .field--cta-link a {
  display: inline-block;
  background-color: var(--color-scheme);
  padding: 1em 1.5em;
  text-decoration: none;
  color: var(--color-text);
  transition: 0.2s all;
}
.paragraph--view-embed .field--cta-link a:link, .paragraph--view-embed .field--cta-link a:visited {
  color: var(--color-scheme-text);
}
.paragraph--view-embed .field--cta-link a:hover, .paragraph--view-embed .field--cta-link a:focus-visible {
  background-color: var(--color-scheme-hover);
}

.block-language-switcher {
  align-content: center;
}
@media screen and (max-width: 779px) {
  .block-language-switcher {
    position: absolute;
    right: 19px;
    bottom: 0;
  }
}
.block-language-switcher .links {
  list-style: none;
  padding: 0;
  margin: 0;
}
.block-language-switcher .links li {
  display: inline-block;
  line-height: 1;
}
.block-language-switcher .links li:not(:first-of-type) {
  margin-left: 0.25em;
}
.block-language-switcher .links li:not(:last-of-type)::after {
  display: inline-block;
  content: " | ";
  margin-inline-start: 0.25em;
}
.block-language-switcher .language-link {
  display: inline-block;
  text-transform: uppercase;
}

.path-frontpage #block-haltern-page-title {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.site-main .block-page-title-block {
  margin-block-start: 3rem;
}

#main-content .block-page-title-block {
  margin-block-start: 3rem;
}

.block-current-news .view--display-latest_news_embed {
  margin-block-end: var(--space-2xl);
}
@media screen and (min-width: 780px) {
  .block-current-news .view--display-latest_news_embed {
    max-width: 80%;
    margin-inline: auto;
  }
  .block-current-news .view--display-latest_news_embed .card--horizontal {
    grid-template-columns: 1fr 1fr;
  }
}

#block-news-content-footer h2 {
  color: var(--color-text);
}
#block-news-content-footer dd {
  padding-block-start: 0;
  padding-inline: 0;
}
#block-news-content-footer .field--body {
  background-color: var(--color-fond-2);
  padding: 2rem;
}

.block-gkd-remote-html-block {
  /* Amtsblatt */
}
.block-gkd-remote-html-block h2, .block-gkd-remote-html-block .ueberschrift {
  color: var(--color-brand);
  font-size: var(--fs-large);
  line-height: var(--lh-large);
  margin-block: 6rem 2rem;
}
.block-gkd-remote-html-block hr {
  margin-top: 2rem;
}
.block-gkd-remote-html-block span.typ {
  display: none;
}
.block-gkd-remote-html-block h3 {
  color: var(--color-brand);
  font-weight: bold;
  margin-block: 3rem 2rem;
}
.block-gkd-remote-html-block h4 {
  color: var(--color-brand);
}
.block-gkd-remote-html-block fieldset .ueberschrift {
  margin-block: 2rem 2rem;
}
.block-gkd-remote-html-block a, .block-gkd-remote-html-block a:visited {
  font-size: var(--fs-medium);
  line-height: var(--lh-medium);
  color: var(--color-brand);
}
.block-gkd-remote-html-block a:hover {
  color: var(--color-scheme-hover);
}
.block-gkd-remote-html-block p {
  margin-block-end: var(--text-block-margin);
}
.block-gkd-remote-html-block .formulare_einleitung {
  margin-block-end: calc(var(--text-block-margin) * 2);
}
.block-gkd-remote-html-block .extlink {
  margin-inline-end: 0.25em;
}
.block-gkd-remote-html-block .angebot {
  list-style: disc;
  margin-block-end: var(--text-block-margin);
}
.block-gkd-remote-html-block .angebot_link li {
  list-style: disc;
  margin-block-end: var(--text-block-margin);
}
.block-gkd-remote-html-block .angebot_link li .extlink {
  margin-inline-end: 0.25em;
}
.block-gkd-remote-html-block .angebot_beschreibung .extlink {
  margin-inline-end: 0.25em;
}
.block-gkd-remote-html-block .selfdb_linkstop, .block-gkd-remote-html-block .selfdb_linksbottom, .block-gkd-remote-html-block .selfdb_neuereintrag {
  margin-block: 1em;
}
.block-gkd-remote-html-block table {
  text-align: left;
}
.block-gkd-remote-html-block table td, .block-gkd-remote-html-block table th {
  padding-block: 0.25em;
  padding-inline-end: 0.5em;
}
.block-gkd-remote-html-block table:not(.zeiten) th {
  background-color: transparent;
  border-bottom: 1rem solid var(--color-scheme);
  color: var(--color-primary-1);
  font-size: var(--fs-medium);
  line-height: var(--lh-medium);
}
.block-gkd-remote-html-block table.zeiten :where(th, td) {
  border-bottom: 1px solid var(--color-line);
}
.block-gkd-remote-html-block .selfdb_list {
  width: 100%;
}
.block-gkd-remote-html-block .selfdb_list th {
  text-align: left;
}
.block-gkd-remote-html-block .selfdb_list tr td {
  padding: 0.25em;
}
.block-gkd-remote-html-block .selfdb_list .alternierend1, .block-gkd-remote-html-block .selfdb_list .selfdb_grouprow + tr:not(.alternierend2) {
  background-color: var(--color-fond-2);
}
.block-gkd-remote-html-block .selfdb_list .selfdb_grouprow td {
  font-weight: 700;
  color: var(--color-dimmed);
  padding-block-start: 1.5em;
}
.block-gkd-remote-html-block .Infoclear + .InfoInformation_rechts {
  display: none;
}
.block-gkd-remote-html-block form {
  font-weight: 700;
  margin-bottom: 1em;
}
.block-gkd-remote-html-block form select#Jahrgang {
  width: 145px;
}
.block-gkd-remote-html-block form input, .block-gkd-remote-html-block form select {
  margin-top: 0.5em;
}
.block-gkd-remote-html-block form .selfdb_search {
  margin-block-end: 0.25em;
  font-weight: 400;
}
.block-gkd-remote-html-block form .selfdb_buttonaktion, .block-gkd-remote-html-block form .selfdb_buttonform {
  display: flex;
  flex-direction: row;
  gap: 1em;
}
.block-gkd-remote-html-block form .selfdb_buttonlist, .block-gkd-remote-html-block form .selfdb_buttonreport {
  display: flex;
  flex-direction: row;
  gap: 0.25em;
  align-items: center;
  font-weight: 400;
  margin-block: 0.5em;
}
.block-gkd-remote-html-block form input[type=text], .block-gkd-remote-html-block form select {
  width: 100%;
  max-width: 400px;
  padding: 0.2em 1em;
  border: 1px solid var(--color-dimmed);
}
.block-gkd-remote-html-block form select {
  background: var(--color-scheme-text);
  appearance: none;
  grid-area: select;
  cursor: pointer;
  accent-color: var(--color-scheme);
  user-select: none;
}
.block-gkd-remote-html-block form select option {
  accent-color: var(--color-scheme);
}
.block-gkd-remote-html-block form select option:checked {
  background-color: var(--color-scheme);
  color: var(--color-scheme-text);
}
.block-gkd-remote-html-block form select option:hover {
  background-color: var(--color-fond-2);
  color: var(--color-scheme);
}
.block-gkd-remote-html-block form .selfdb_columnvalue:has(select:not([multiple])) {
  display: grid;
  grid-template-areas: "select";
  align-items: center;
  width: 100%;
  max-width: 400px;
}
.block-gkd-remote-html-block form .selfdb_columnvalue:has(select:not([multiple]))::after {
  content: "";
  background-color: var(--color-dimmed);
  clip-path: polygon(100% 0%, 0 0%, 50% 100%);
  width: 1.25rem;
  height: 1rem;
  grid-area: select;
  justify-self: end;
  margin-inline-end: 0.5rem;
}
.block-gkd-remote-html-block form .selfdb_columnname {
  color: var(--color-dimmed);
}
.block-gkd-remote-html-block form input[type=submit], .block-gkd-remote-html-block form input[type=reset] {
  color: var(--color-scheme-text);
  width: fit-content;
  display: inline-block;
  background-color: var(--color-scheme);
  padding: 0.25em 0.5em;
  text-decoration: none;
  transition: 0.2s all;
  appearance: none;
  border: 0;
  cursor: pointer;
}
.block-gkd-remote-html-block form input[type=submit]:hover, .block-gkd-remote-html-block form input[type=reset]:hover {
  background-color: var(--color-scheme-hover);
  color: var(--color-scheme-text);
}
.block-gkd-remote-html-block form input[type=reset] {
  color: var(--color-brand);
  background: var(--color-local-tasks-bg);
}
.block-gkd-remote-html-block form input[type=reset]:hover {
  background-color: var(--color-fond-2);
  color: var(--color-brand);
}
@media all and (max-width: 900px) {
  .block-gkd-remote-html-block {
    overflow-x: auto;
  }
}
.block-gkd-remote-html-block img.angebot_bild {
  float: right;
  margin: 0 0 2rem 2rem;
}
.block-gkd-remote-html-block div.alternierend1 {
  background-color: var(--color-fond-2);
}
.block-gkd-remote-html-block .selfdb_reportgroup {
  font-weight: 700;
  color: var(--color-dimmed);
  padding-block-start: 4rem;
  padding-block-end: 1rem;
}
.block-gkd-remote-html-block .selfdb_reportentry {
  display: grid;
  grid-gap: 2rem;
  grid-template-columns: auto auto 260px;
  grid-template-areas: "heading heading heading" "text text image" "infos . edit";
  margin-block: 1rem;
  padding: 2rem;
}
.block-gkd-remote-html-block .selfdb_reportentry .selfdb_columnname {
  display: none;
}
.block-gkd-remote-html-block .selfdb_reportentry .selfdb_reportrow:has(.selfdb_fieldBild) {
  grid-area: image;
}
.block-gkd-remote-html-block .selfdb_reportentry .selfdb_reportrow:has(.selfdb_fieldBild) img {
  width: 100%;
}
.block-gkd-remote-html-block .selfdb_reportentry .selfdb_reportrow:has(.selfdb_fieldBeschreibung) {
  grid-area: text;
}
.block-gkd-remote-html-block .selfdb_reportentry .selfdb_reportrow:has(.selfdb_fieldName) {
  grid-area: heading;
}
.block-gkd-remote-html-block .selfdb_reportentry .selfdb_fieldName {
  font-weight: var(--fw-bold);
}
.block-gkd-remote-html-block .selfdb_reportentry .selfdb_weiteredetails {
  grid-area: infos;
}
.block-gkd-remote-html-block .selfdb_reportentry .selfdb_aendern {
  grid-area: edit;
  text-align: right;
}
.block-gkd-remote-html-block .selfdb_dialog .selfdb_fieldName {
  margin-block-end: 3rem;
  font-weight: 700;
  color: var(--color-dimmed);
  font-size: var(--fs-medium);
  line-height: var(--lh-medium);
  border-left: 7px solid var(--color-brand);
  padding-left: 0.5em;
}
.block-gkd-remote-html-block .selfdb_dialog .selfdb_reportrow {
  margin-block-end: 1rem;
}
.block-gkd-remote-html-block .selfdb_dialog .selfdb_reportrow:has(.selfdb_fieldVname, .selfdb_fieldVemail) {
  margin-block-start: 3rem;
}
.block-gkd-remote-html-block .selfdb_dialog .selfdb_columnname {
  display: none;
}
.block-gkd-remote-html-block .selfdb_dialog .selfdb_entry {
  padding: 0;
  margin-block-end: 2rem;
}
.block-gkd-remote-html-block .selfdb_dialog .selfdb_fieldBild img {
  max-width: 100%;
}
.block-gkd-remote-html-block .selfdb_entry {
  padding: 2rem;
  margin-block-end: 2rem;
}
.block-gkd-remote-html-block .selfdb_entry .selfdb_columnname {
  display: none;
}
.block-gkd-remote-html-block .selfdb_report br {
  display: none;
}

/*
 * COMPONENTS/ contains modules to include in templates via attach_library()
 * and are not imported in the main CSS
 * 
 * SASS-TOOLS/ contains Sass functions. Must be referenced via @use in every file that needs them.
 * @use "sass-tools/index" as *;
 *
 * SASS-MIXINS/ contains Sass mixins. Must be referenced via @use in every file that needs them.
 * @use "sass-mixins/index" as *;
 *
 * SASS-VARIABLES/ contains Sass variables. Must be referenced via @use in every file that needs them.
 * @use "sass-variables/index" as *;
 *
 * Import additional modules below this line!
 *
 */
:root {
  --gin-font-size: 16px;
  --gin-spacing-xxxs: 2px;
  --gin-spacing-xxs: 4px;
  --gin-spacing-xs: 8px;
  --gin-spacing-s: 12px;
  --gin-spacing-m: 16px;
  --gin-spacing-l: 24px;
  --gin-spacing-xl: 32px;
  --gin-spacing-xxl: 48px;
  --gin-spacing-xxxl: 64px;
  --gin-spacing-density-xxs: 4px;
  --gin-spacing-density-xs: 8px;
  --gin-spacing-density-s: 12px;
  --gin-spacing-density-m: 16px;
  --gin-spacing-density-l: 24px;
  --gin-spacing-density-xl: 32px;
  --gin-spacing-density-xxl: 48px;
  --gin-spacing-density-xxxl: 64px;
}

[dir=ltr] body.gin--vertical-toolbar,
[dir=ltr] body.gin--horizontal-toolbar,
[dir=ltr] body.gin--classic-toolbar {
  padding-left: 0 !important;
}

.gin-secondary-toolbar.gin-secondary-toolbar--frontend {
  margin-left: var(--gin-toolbar-width-collapsed);
}

:root {
  --swiper-navigation-sides-offset: -2.8125rem;
}

button.pswp__button:focus-visible {
  outline-color: white;
}

a.photoswipe {
  display: block;
}

.office-hours__item-label {
  width: 15rem;
}

.field--gkd-service-block .menu_formulare .alphabet {
  display: flex;
  flex-wrap: wrap;
  padding: 1rem;
}

.field--gkd-service-block .menu_formulare {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 2rem;
}

.field--gkd-service-block .menu_formulare::before {
  content: "Leistungen von A-Z";
  display: block;
  font-size: 3rem;
  font-weight: bold;
  margin-bottom: 1rem;
}

.field--gkd-service-block .menu_formulare a {
  color: black;
}

.field--gkd-service-block .angebote_ueberschrift {
  display: none;
}

.field--gkd-service-block .angebote {
  padding-left: 1rem;
}

div.views-element-container:has(.baustellen-liste) > .view__title {
  visibility: hidden;
}

/*# sourceMappingURL=main.css.map */
