@charset "UTF-8";
:root {
  --logo-width: 89px;
  --logo-height: 50px;
}
@media (min-width: 576px) {
  :root {
    --logo-width: 136px;
    --logo-height: 76px;
  }
}
@media (min-width: 768px) {
  :root {
    --logo-width: 150px;
    --logo-height: 84px;
  }
}
:root {
  --left: left;
  --right: right;
  --text-indent: -999999px;
}
[dir="rtl"] {
  --left: right;
  --right: left;
  --text-indent: 999999px;
}
:root {
  --font-base-family: Arial, sans-serif;
  --font-base-size: 20px;
  --font-base-ln: 1.5;
  --font-hx-family: Arial, sans-serif;
  --font-hx-wgt: 400;
  --font-hx-ln: 1.2;
  --font-h1: 2rem;
  --font-h2: 1.5rem;
  --font-h3: 1.25rem;
  --font-h4: 1rem;
  --font-h4-wgt: 700;
  --font-h4-ln: 1.5;
  --font-h5: 1rem;
  --font-h5-wgt: 700;
  --font-h5-ln: 1.5;
  --font-h6: 1rem;
  --font-h6-wgt: 700;
  --font-h6-ln: 1.5;
}
:root {
  --color-body: #fff;
  --color-text: #1a1a1a;
  --color-primary: #80b83f;
  --color-secondary: #2e802c;
  --color-link: #1a1a1a;
  --color-link-hover: #006837;
  --color-btn: #fff;
  --color-btn-bg: var(--color-primary);
  --color-btn-hover: #fff;
  --color-btn-hover-bg: var(--color-secondary);
  --color-h1: var(--color-primary);
  --color-h2: var(--color-secondary);
  --color-h3: var(--color-text);
  --color-h4: var(--color-text);
  --color-h5: var(--color-text);
  --color-h6: var(--color-text);
  --color-border: var(--color-grey);
  --color-border-focus: var(--color-grey-dark);
  --color-white: #fff;
  --color-black: #000;
  --color-light: #f2f2f2;
  --color-dark: #1a1a1a;
  --color-grey: #888;
  --color-grey-light: #ccc;
  --color-grey-dark: #333;
  --color-notice: #f2f2f2;
  --color-notice-contrast: #1a1a1a;
  --color-info: #97c2e9;
  --color-info-contrast: #2c445a;
  --color-success: #92bc64;
  --color-success-contrast: #30421d;
  --color-warning: #edb96b;
  --color-warning-contrast: #5d4118;
  --color-error: #d97878;
  --color-error-contrast: #501818;
}
:root {
  --viewport: 73rem;
  --viewport-gutter-x: 0.5rem;
  --viewport-gutter-y: 3rem;
  --gutter-x: 1.5rem;
  --gutter-y: 1.5rem;
  --text-space-large: 4.5rem;
  --text-space-double: calc(var(--text-space) * 2);
  --text-space: 1.5rem;
  --text-space-medium: 1rem;
  --text-space-small: 0.5rem;
  --gallery-gutter-x: 0.5rem;
  --gallery-gutter-y: 0.5rem;
  --gallery-margin-text-x: 1rem;
  --headline-mt: 1.5rem;
  --headline-mb: 0.5rem;
  --btn-px: 0.5rem;
  --btn-py: 0.25rem;
  --map-width: 100%;
  --map-height: 50vh;
  --sitemap-gutter-y: var(--text-space);
  --sitemap-gutter-x: var(--text-space-large);
}
:root {
  --table-border-width: 1px;
  --table-border-width-thick: 2px;
  --table-border-style: solid;
  --table-border-color: var(--color-border);
  --table-gutter-x: 0.5rem;
  --table-gutter-y: 0.25rem;
}
:root {
  --form-element-px: 0.5rem;
  --form-element-py: 0.25rem;
  --form-element-color: var(--color-text);
  --form-element-color-disabled: var(--color-grey-light);
  --form-element-ln: 1.2;
  --form-element-bg: var(--color-light);
  --form-element-border-width: 1px;
  --form-element-border-style: solid;
  --form-element-border-color: var(--color-border);
  --form-element-border-radius: 2px;
  --form-textrea-height: 6.5rem;
  --form-select-height: calc(1em * var(--form-element-ln) + 2 * var(--form-element-py) + 2 * var(--form-element-border-width));
  --form-select-height-multiple: 6.5rem;
  --form-select-gutter: 0.25rem;
}
:root {
  --pagination-margin: var(--text-space);
  --pagination-margin-list: var(--text-space-double);
  --pagination-gap: 0.25rem;
  --pagination-item-fs: 1rem;
  --pagination-item-width: 2rem;
  --pagination-item-height: 2rem;
  --pagination-item-border-radius: 50%;
  --pagination-text-color: var(--pagination-link-color);
  --pagination-text-bg: none;
  --pagination-link-color: #1a1a1a;
  --pagination-link-bg: transparent;
  --pagination-link-hover: #1a1a1a;
  --pagination-link-hover-bg: #eee;
  --pagination-link-active: #fff;
  --pagination-link-active-bg: #0875e1;
}
:root {
  --socialmedia-size: 2rem;
  --socialmedia-text-width: 8rem;
  --socialmedia-trigger-offset: 0;
  --socialmedia-color: var(--color-btn);
  --socialmedia-bg: var(--color-btn-bg);
  --socialmedia-hover-color: var(--color-btn-hover);
  --socialmedia-hover-bg: var(--color-btn-hover-bg);
}
.sr-only {
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.sr-only:not(caption) {
  position: absolute !important;
}
.sr-only * {
  overflow: hidden !important;
}
.sr-only-focusable:not(:focus):not(:focus-within) {
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.sr-only-focusable:not(:focus):not(:focus-within):not(caption) {
  position: absolute !important;
}
.sr-only-focusable:not(:focus):not(:focus-within) * {
  overflow: hidden !important;
}
*,
html * {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
select {
  padding: 1px;
}
option {
  padding-left: 0.4em;
}
* html body * {
  overflow: visible;
}
body {
  font-size: 100%;
  background: #fff;
  color: #000;
  text-align: var(--left);
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
nav,
section {
  display: block;
}
summary {
  cursor: pointer;
}
audio,
canvas,
video {
  display: inline-block;
}
audio:not([controls]) {
  display: none;
}
[hidden] {
  display: none;
}
html {
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
a:hover {
  cursor: pointer;
}
input[type="checkbox"],
input[type="radio"] {
  padding: 0;
}
input[type="search"] {
  -webkit-appearance: textfield;
}
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
svg:not(:root) {
  overflow: hidden;
}
figure {
  margin: 0;
}
fieldset,
img {
  border: 0;
}
img {
  display: block;
  max-width: 100%;
  width: auto;
  height: auto;
}
ul,
ol,
dl {
  margin: 0 0 1em 1em;
}
li {
  line-height: 1.5em;
  margin-left: 0.8em;
}
dt {
  font-weight: bold;
}
dd {
  margin: 0 0 1em 0.8em;
}
address {
  font-style: normal;
}
blockquote {
  margin: 0 0 1em 0.8em;
}
q {
  quotes: none;
}
blockquote::before,
q::before,
blockquote::after,
q::after {
  content: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
:focus-visible {
  outline: var(--outline, auto 1px);
}
html * {
  font-size: 100%;
}
textarea,
input,
button,
select,
option,
optgroup,
pre,
code,
kbd,
samp,
var,
tt {
  font-family: var(--font-base-family);
  font-size: var(--font-size, 1rem);
  color: var(--color-text);
  border-radius: 0;
  -webkit-appearance: none;
}
textarea,
input,
select {
  padding: var(--form-element-py) var(--form-element-px);
  color: var(--form-element-color);
  line-height: var(--form-element-ln);
  background: var(--form-element-bg);
  border: var(--form-element-border-width) var(--form-element-border-style) var(--form-element-border-color);
  border-radius: var(--form-element-border-radius, 0);
}
:where(textarea, input, select):is(:hover, :focus) {
  --form-element-border-color: var(--form-element-border-color-focus, var(--color-grey-dark));
}
:where(textarea, input, select):is(:disabled, .is--disabled) {
  --form-element-color: var(--form-element-color-disabled);
  cursor: not-allowed;
}
input[type="checkbox"] {
  -webkit-appearance: checkbox;
  background: initial;
}
input[type="radio"] {
  -webkit-appearance: radio;
  background: initial;
}
textarea {
  min-height: var(--form-textrea-height);
  resize: vertical;
}
select {
  -webkit-appearance: menulist;
  height: var(--form-select-height);
  padding: 0 var(--form-element-px);
}
select optgroup {
  background: initial;
}
select option {
  padding: 0;
  background: initial;
}
select[multiple] {
  width: 100%;
  height: var(--form-select-height-multiple);
  -webkit-appearance: initial;
}
select[multiple] option {
  padding: calc(var(--form-select-gutter) / 2) 0;
  background: none;
}
.internal-link-box,
.is--btn,
input[type="button" i],
input[type="reset" i],
input[type="submit" i],
button {
  display: inline-block;
  width: var(--btn-width, auto);
  margin: 0;
  padding: var(--btn-padding, var(--btn-py, 0.25rem) var(--btn-px, 1rem));
  color: var(--btn-font-color, var(--color-btn));
  font-size: var(--btn-font-size, var(--link-font-size));
  font-family: var(--btn-font-family, var(--font-btn-family, var(--font-base-family)));
  line-height: var(--btn-line-height, var(--link-line-height, var(--form-element-ln)));
  font-style: var(--btn-font-style, normal);
  font-weight: var(--btn-font-weight, var(--link-font-weight, 400));
  text-decoration: var(--btn-text-decoration, none);
  text-transform: var(--link-text-transform, none);
  background-color: var(--btn-bg-color, var(--color-btn-bg));
  text-align: center;
  border: var(--btn-border, none);
  border-color: var(--btn-border-color, transparent);
  cursor: pointer;
}
:where(.internal-link-box, .is--btn, input[type="button"i], input[type="reset"i], input[type="submit"i], button):is(:hover, :focus) {
  --btn-font-color: var(--btn-hover-font-color, var(--color-btn-hover));
  --btn-bg-color: var(--btn-hover-bg-color, var(--color-btn-hover-bg));
  --btn-border-color: var(--btn-hover-border-color);
}
:where(.internal-link-box, .is--btn, input[type="button"i], input[type="reset"i], input[type="submit"i], button):is(:disabled, .is--disabled) {
  opacity: 0.25;
  pointer-events: none;
}
*::-webkit-input-placeholder {
  font-style: italic;
  color: var(--color-grey-light);
}
*::-moz-placeholder {
  font-style: italic;
  color: var(--color-grey-light);
}
*:-moz-placeholder {
  font-style: italic;
  color: var(--color-grey-light);
}
*:-ms-input-placeholder {
  font-style: italic;
  color: var(--color-grey-light);
}
input::-moz-focus-inner,
button::-moz-focus-inner,
input::-moz-focus-outer,
button::-moz-focus-outer {
  margin: 0;
  padding: 0;
  border: 0;
}
html,
body {
  font-size: var(--font-base-size);
}
body {
  font: var(--font-base-size) / var(--font-base-ln) var(--font-base-family);
  color: var(--color-text);
  background-color: var(--color-body);
}
h1,
.h1 {
  --color-link: currentColor;
  font-family: var(--font-h1-family, var(--font-hx-family, var(--font-base-family)));
  font-weight: var(--font-h1-wgt, var(--font-hx-wgt));
  font-size: var(--font-h1);
  font-style: normal;
  color: var(--color-h1, var(--color-text));
  line-height: var(--font-h1-ln, var(--font-hx-ln, var(--font-base-ln)));
  margin: var(--headline-mt) 0 var(--headline-mb);
}
h1 a,
.h1 a {
  font-size: 1em;
  font-weight: inherit !important;
  font-style: inherit !important;
  font-family: inherit !important;
  line-height: inherit !important;
}
h2,
.h2 {
  --color-link: currentColor;
  font-family: var(--font-h2-family, var(--font-hx-family, var(--font-base-family)));
  font-weight: var(--font-h2-wgt, var(--font-hx-wgt));
  font-size: var(--font-h2);
  font-style: normal;
  color: var(--color-h2, var(--color-text));
  line-height: var(--font-h2-ln, var(--font-hx-ln, var(--font-base-ln)));
  margin: var(--headline-mt) 0 var(--headline-mb);
}
h2 a,
.h2 a {
  font-size: 1em;
  font-weight: inherit !important;
  font-style: inherit !important;
  font-family: inherit !important;
  line-height: inherit !important;
}
h3,
.h3 {
  --color-link: currentColor;
  font-family: var(--font-h3-family, var(--font-hx-family, var(--font-base-family)));
  font-weight: var(--font-h3-wgt, var(--font-hx-wgt));
  font-size: var(--font-h3);
  font-style: normal;
  color: var(--color-h3, var(--color-text));
  line-height: var(--font-h3-ln, var(--font-hx-ln, var(--font-base-ln)));
  margin: var(--headline-mt) 0 var(--headline-mb);
}
h3 a,
.h3 a {
  font-size: 1em;
  font-weight: inherit !important;
  font-style: inherit !important;
  font-family: inherit !important;
  line-height: inherit !important;
}
h4,
.h4 {
  --color-link: currentColor;
  font-family: var(--font-h4-family, var(--font-hx-family, var(--font-base-family)));
  font-weight: var(--font-h4-wgt, var(--font-hx-wgt));
  font-size: var(--font-h4);
  font-style: normal;
  color: var(--color-h4, var(--color-text));
  line-height: var(--font-h4-ln, var(--font-hx-ln, var(--font-base-ln)));
  margin: var(--headline-mt) 0 var(--headline-mb);
}
h4 a,
.h4 a {
  font-size: 1em;
  font-weight: inherit !important;
  font-style: inherit !important;
  font-family: inherit !important;
  line-height: inherit !important;
}
h5,
.h5 {
  --color-link: currentColor;
  font-family: var(--font-h5-family, var(--font-hx-family, var(--font-base-family)));
  font-weight: var(--font-h5-wgt, var(--font-hx-wgt));
  font-size: var(--font-h5);
  font-style: normal;
  color: var(--color-h5, var(--color-text));
  line-height: var(--font-h5-ln, var(--font-hx-ln, var(--font-base-ln)));
  margin: var(--headline-mt) 0 var(--headline-mb);
}
h5 a,
.h5 a {
  font-size: 1em;
  font-weight: inherit !important;
  font-style: inherit !important;
  font-family: inherit !important;
  line-height: inherit !important;
}
h6,
.h6 {
  --color-link: currentColor;
  font-family: var(--font-h6-family, var(--font-hx-family, var(--font-base-family)));
  font-weight: var(--font-h6-wgt, var(--font-hx-wgt));
  font-size: var(--font-h6);
  font-style: normal;
  color: var(--color-h6, var(--color-text));
  line-height: var(--font-h6-ln, var(--font-hx-ln, var(--font-base-ln)));
  margin: var(--headline-mt) 0 var(--headline-mb);
}
h6 a,
.h6 a {
  font-size: 1em;
  font-weight: inherit !important;
  font-style: inherit !important;
  font-family: inherit !important;
  line-height: inherit !important;
}
h1,
.h1 {
  margin-top: 0;
}
:where(h1, .h1):has( + :where(h2, .h2)) {
  --headline-mb: 0;
}
:where(h1, .h1) + :where(h2, .h2) {
  --headline-mt: 0;
}
:where(h2, .h2):has( + :where(h3, .h3)) {
  --headline-mb: 0;
}
:where(h2, .h2) + :where(h3, .h3) {
  --headline-mt: 0;
}
:where(h3, .h3):has( + :where(h4, .h4)) {
  --headline-mb: 0;
}
:where(h3, .h3) + :where(h4, .h4) {
  --headline-mt: 0;
}
:where(h4, .h4):has( + :where(h5, .h5)) {
  --headline-mb: 0;
}
:where(h4, .h4) + :where(h5, .h5) {
  --headline-mt: 0;
}
:where(h5, .h5):has( + :where(h6, .h6)) {
  --headline-mb: 0;
}
:where(h5, .h5) + :where(h6, .h6) {
  --headline-mt: 0;
}
.frame:first-child .ce-header *:first-child {
  margin-top: 0;
}
ul,
ol,
dl {
  font-size: var(--font-size, inherit);
  line-height: var(--font-base-ln);
  margin: 0 0 var(--text-space);
}
ul {
  list-style-type: disc;
}
ul ul,
ol ul {
  list-style-type: circle;
  margin-bottom: 0;
}
ol {
  list-style-type: decimal;
}
ol ol {
  list-style-type: lower-latin;
  margin-bottom: 0;
}
li {
  font-size: var(--font-size, inherit);
  line-height: var(--font-base-ln);
  margin-left: var(--text-space);
}
dt {
  font-weight: 700;
}
dd {
  margin: 0 0 var(--text-space) var(--text-space-medium);
}
p {
  font-size: var(--font-size, inherit);
  line-height: var(--font-base-ln);
  margin: 0 0 var(--text-space);
}
blockquote,
cite,
q {
  font-family: inherit;
  font-style: italic;
}
blockquote {
  margin: var(--text-space) 0;
  padding: var(--text-space-small) var(--text-space-medium);
  padding-right: 0;
  background: transparent;
  border-left: 5px solid var(--color-border);
}
blockquote > *:first-child {
  margin-top: 0;
}
blockquote > *:last-child {
  margin-bottom: 0;
}
strong,
b {
  font-weight: 700;
}
em,
i {
  font-style: italic;
}
big {
  font-size: 1.143rem;
  line-height: 1.3125;
}
small {
  font-size: 0.875rem;
  line-height: 1.714;
}
pre,
code,
kbd,
tt,
samp,
var {
  font-size: var(--font-size, inherit);
}
pre {
  line-height: var(--font-base-ln);
  margin: 0 0 var(--text-space);
  white-space: pre-wrap;
  word-wrap: break-word;
}
pre,
code {
  --color-text: var(--color-black);
}
kbd,
samp,
var,
tt {
  --color-text: var(--color-grey-light);
  font-weight: 700;
}
var,
dfn {
  font-style: italic;
}
acronym,
abbr {
  border-bottom: 1px solid var(--color-border);
  cursor: help;
}
sub,
sup {
  font-size: 0.75em;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sup {
  top: -0.5em;
}
sub {
  bottom: -0.25em;
}
mark {
  color: black;
  background: yellow;
}
hr {
  margin: var(--text-space) 0 0;
  padding: 0 0 var(--text-space);
  border: 0;
  border-bottom: 1px solid var(--color-border);
  background: none;
}
a {
  color: var(--link-color, var(--color-link));
  font-style: var(--link-font-style, normal);
  text-decoration: var(--link-text-decoration, underline);
  text-transform: var(--link-text-transform, none);
  font-family: var(--link-font-family);
  font-weight: var(--link-font-weight, 400);
  font-size: var(--link-font-size, var(--font-size, 1em));
  line-height: var(--link-line-height, var(--font-base-ln, 1.5));
  background: none;
}
a:hover,
a:focus {
  --color-link: var(--hover-color, var(--color-link-hover));
  --link-color: var(--hover-color, var(--color-link-hover));
}
a[id^="c"]:not([href]) {
  all: unset;
}
img {
  display: block;
  max-width: 100%;
  width: auto;
  height: auto;
}
a > img:only-child {
  transition: transform 0.3s;
}
a:is(:hover, :focus) > img:only-child {
  transform: scale(var(--link-image-scale, 100%));
}
iframe {
  display: block;
  max-width: 100%;
  border: 0;
}
table {
  width: 100%;
  margin: 0 0 var(--text-space);
  color: var(--color-text);
  border-collapse: collapse;
  border-top: var(--table-border-width) var(--table-border-style) var(--table-border-color);
  border-bottom: var(--table-border-width) var(--table-border-style) var(--table-border-color);
}
caption {
  font-variant: small-caps;
}
th,
td {
  line-height: var(--font-base-ln);
  vertical-align: top;
  padding: var(--table-gutter-y) var(--table-gutter-x);
}
th *:first-child,
td *:first-child {
  margin-top: 0;
}
thead th {
  text-align: var(--left);
  border-bottom: var(--table-border-width-thick) var(--table-border-style) var(--table-border-color);
}
tbody th,
tbody td {
  text-align: var(--left);
  border-top: var(--table-border-width) var(--table-border-style) var(--table-border-color);
}
tbody tr:hover th,
tbody tr:hover td {
  background-color: var(--color-light);
}
tfoot {
  font-style: italic;
}
tfoot th,
tfoot td {
  text-align: var(--left);
  border-top: var(--table-border-width-thick) var(--table-border-style) var(--table-border-color);
}
dialog {
  margin: auto;
}
::backdrop {
  background: rgba(0, 0, 0, 0.65);
}
.hidden-since-xxs {
  display: none;
}
.visible-since-xxs {
  display: block;
}
.hidden-xxs {
  display: none;
}
.visible-xxs {
  display: block;
}
@media (min-width: 320.02px) {
  .hidden-since-xs {
    display: none;
  }
  .visible-since-xs {
    display: block;
  }
}
@media (min-width: 320px) {
  .hidden-xs {
    display: none;
  }
  .visible-xs {
    display: block;
  }
}
@media (min-width: 576.02px) {
  .hidden-since-sm {
    display: none;
  }
  .visible-since-sm {
    display: block;
  }
}
@media (min-width: 576px) {
  .hidden-sm {
    display: none;
  }
  .visible-sm {
    display: block;
  }
}
@media (min-width: 768.02px) {
  .hidden-since-md {
    display: none;
  }
  .visible-since-md {
    display: block;
  }
}
@media (min-width: 768px) {
  .hidden-md {
    display: none;
  }
  .visible-md {
    display: block;
  }
}
@media (min-width: 1024.02px) {
  .hidden-since-lg {
    display: none;
  }
  .visible-since-lg {
    display: block;
  }
}
@media (min-width: 1024px) {
  .hidden-lg {
    display: none;
  }
  .visible-lg {
    display: block;
  }
}
@media (min-width: 1366.02px) {
  .hidden-since-xl {
    display: none;
  }
  .visible-since-xl {
    display: block;
  }
}
@media (min-width: 1366px) {
  .hidden-xl {
    display: none;
  }
  .visible-xl {
    display: block;
  }
}
@media (min-width: 1440.02px) {
  .hidden-since-xxl {
    display: none;
  }
  .visible-since-xxl {
    display: block;
  }
}
@media (min-width: 1440px) {
  .hidden-xxl {
    display: none;
  }
  .visible-xxl {
    display: block;
  }
}
body {
  overflow-x: hidden;
  overflow-y: scroll;
}
.viewport {
  max-width: var(--viewport);
  margin: 0 auto;
  padding: var(--viewport-gutter-t, var(--viewport-gutter-y)) var(--viewport-gutter-e, var(--viewport-gutter-x)) var(--viewport-gutter-b, var(--viewport-gutter-y)) var(--viewport-gutter-s, var(--viewport-gutter-x));
  overflow: hidden;
}
.columns {
  --column-count: 2;
  --column-gap: 4.5rem;
  display: flex;
  gap: var(--row-gap, 0) var(--column-gap);
}
.columns.columns--reverse {
  flex-direction: row-reverse;
}
.columns > [class*="column--"] {
  width: calc(var(--column-width) - (var(--column-gap) * (var(--column-count, 1) - 1)) / var(--column-count, 1));
}
.column--1 {
  --column-width: 25%;
}
.column--3 {
  --column-width: 75%;
}
.grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: var(--row-gap, var(--gutter-y)) var(--column-gap, var(--gutter-x));
}
.grid > * {
  grid-column: var(--grid-column, auto) / span var(--grid-span, 1);
}
.grid > *:where([class*="grid--e"]) {
  grid-column: var(--grid-column, 1) / var(--grid-end, 1);
}
.grid--s1 {
  --grid-column: 1;
}
.grid--s2 {
  --grid-column: 2;
}
.grid--s3 {
  --grid-column: 3;
}
.grid--s4 {
  --grid-column: 4;
}
.grid--s5 {
  --grid-column: 5;
}
.grid--s6 {
  --grid-column: 6;
}
.grid--s7 {
  --grid-column: 7;
}
.grid--s8 {
  --grid-column: 8;
}
.grid--s9 {
  --grid-column: 9;
}
.grid--s10 {
  --grid-column: 10;
}
.grid--s11 {
  --grid-column: 11;
}
.grid--s12 {
  --grid-column: 12;
}
.grid--e1 {
  --grid-end: 2;
}
.grid--e2 {
  --grid-end: 3;
}
.grid--e3 {
  --grid-end: 4;
}
.grid--e4 {
  --grid-end: 5;
}
.grid--e5 {
  --grid-end: 6;
}
.grid--e6 {
  --grid-end: 7;
}
.grid--e7 {
  --grid-end: 8;
}
.grid--e8 {
  --grid-end: 9;
}
.grid--e9 {
  --grid-end: 10;
}
.grid--e10 {
  --grid-end: 11;
}
.grid--e11 {
  --grid-end: 12;
}
.grid--e12 {
  --grid-end: 13;
}
.grid--w1 {
  --grid-span: 1;
}
.grid--w2 {
  --grid-span: 2;
}
.grid--w3 {
  --grid-span: 3;
}
.grid--w4 {
  --grid-span: 4;
}
.grid--w5 {
  --grid-span: 5;
}
.grid--w6 {
  --grid-span: 6;
}
.grid--w7 {
  --grid-span: 7;
}
.grid--w8 {
  --grid-span: 8;
}
.grid--w9 {
  --grid-span: 9;
}
.grid--w10 {
  --grid-span: 10;
}
.grid--w11 {
  --grid-span: 11;
}
.grid--w12 {
  --grid-span: 12;
}
.grids {
  overflow: hidden;
  margin: 0 calc(-1 * var(--gutter-x));
}
.grid--left {
  float: left;
  padding: 0 var(--gutter-x);
}
.grid--right {
  float: right;
  padding: 0 var(--gutter-x);
}
.grid--1 {
  width: 8.33333333%;
}
.grid--2 {
  width: 16.66666667%;
}
.grid--3 {
  width: 25%;
}
.grid--4 {
  width: 33.33333333%;
}
.grid--5 {
  width: 41.66666667%;
}
.grid--6 {
  width: 50%;
}
.grid--7 {
  width: 58.33333333%;
}
.grid--8 {
  width: 66.66666667%;
}
.grid--9 {
  width: 75%;
}
.grid--10 {
  width: 83.33333333%;
}
.grid--11 {
  width: 91.66666667%;
}
.grid--12 {
  width: 100%;
}
.skip-links {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000000;
  background: rgba(255, 255, 255, 0.65);
  box-shadow: 0 0 4px 0 rgb(from var(--color-border-focus) r g b / 65%);
}
.skip-links ul {
  display: flex;
  justify-content: center;
  list-style-type: none;
  margin: 0.5rem;
  padding: 0;
}
.skip-links li {
  list-style-type: none;
  margin: 0;
  line-height: 1;
}
.socialmedia--links {
  position: fixed;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  z-index: 90;
}
.socialmedia--links ul,
.socialmedia--links li {
  list-style-type: none;
  margin: 0;
}
.socialmedia--links ul {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.25rem;
}
.socialmedia {
  display: block;
  width: var(--socialmedia-size);
  height: var(--socialmedia-size);
  text-indent: -999999px;
  color: transparent;
  background: none no-repeat scroll 0 0 var(--socialmedia-bg);
  background-size: auto 100%;
  overflow: hidden;
}
.socialmedia:has(a:focus),
.socialmedia:is(:hover, :focus),
.socialmedia a:is(:hover, :focus) {
  --socialmedia-color: var(--socialmedia-hover-color);
  --socialmedia-bg: var(--socialmedia-hover-bg);
}
.socialmedia.socialmedia--phone {
  background-image: url(/typo3conf/ext/website_core/Resources/Public/Images/socialmedia/phone.min.svg);
}
.socialmedia.socialmedia--email {
  background-image: url(/typo3conf/ext/website_core/Resources/Public/Images/socialmedia/email.min.svg);
}
.socialmedia.socialmedia--newsletter {
  background-image: url(/typo3conf/ext/website_core/Resources/Public/Images/socialmedia/newsletter.min.svg);
}
.socialmedia.socialmedia--xing {
  background-image: url(/typo3conf/ext/website_core/Resources/Public/Images/socialmedia/xing.min.svg);
}
.socialmedia.socialmedia--linkedin {
  background-image: url(/typo3conf/ext/website_core/Resources/Public/Images/socialmedia/linkedin.min.svg);
}
.socialmedia.socialmedia--facebook {
  background-image: url(/typo3conf/ext/website_core/Resources/Public/Images/socialmedia/facebook.min.svg);
}
.socialmedia.socialmedia--instagram {
  background-image: url(/typo3conf/ext/website_core/Resources/Public/Images/socialmedia/instagram.min.svg);
}
.socialmedia.socialmedia--twitter {
  background-image: url(/typo3conf/ext/website_core/Resources/Public/Images/socialmedia/twitter.min.svg);
}
.socialmedia.socialmedia--youtube {
  background-image: url(/typo3conf/ext/website_core/Resources/Public/Images/socialmedia/youtube.min.svg);
}
.socialmedia.socialmedia--contact-form {
  background-image: url(/typo3conf/ext/website_core/Resources/Public/Images/socialmedia/contact-form.min.svg);
}
.socialmedia.socialmedia--jameda {
  background-image: url(/typo3conf/ext/website_core/Resources/Public/Images/socialmedia/jameda.min.svg);
}
.socialmedia--trigger {
  --socialmedia-trigger-offset-hidden: calc(-1 * var(--socialmedia-text-width));
  width: auto;
  cursor: pointer;
}
.socialmedia--trigger a {
  display: block;
  width: var(--socialmedia-text-width);
  margin: 0 var(--socialmedia-trigger-offset) 0 var(--socialmedia-size);
  color: var(--socialmedia-color);
  font-style: normal;
  text-align: center;
  text-indent: 0;
  line-height: var(--socialmedia-size);
  transition: margin 0.3s linear;
}
.socialmedia--trigger a:focus {
  --socialmedia-trigger-offset: 0;
}
.socialmedia--trigger.is--closed {
  --socialmedia-trigger-offset: var(--socialmedia-trigger-offset-hidden);
}
.navigation {
  --link-text-decoration: none;
  --navigation-font-size: var(--link-font-size, 1rem);
  --navigation-ln: 1.2;
  --navigation-color: var(--link-color, var(--color-link));
  --navigation-color-hover: var(--hover-color, var(--color-link-hover));
  position: relative;
  line-height: 1;
}
.navigation::after {
  content: ".";
  display: block;
  clear: both;
  font-size: 0;
  height: 0;
  visibility: hidden;
}
.navigation ul,
.navigation li {
  list-style-type: none;
  margin: 0;
  padding: 0;
  line-height: 1;
}
.navigation ul {
  display: flex;
  flex-direction: column;
  gap: var(--navigation-gutter-y, 0) var(--navigation-gutter-x, 0);
}
.navigation li a {
  font-size: var(--navigation-font-size);
  line-height: var(--navigation-ln);
  color: var(--navigation-color);
}
.navigation li a:focus,
.navigation li a:hover {
  --navigation-color: var(--navigation-color-hover);
}
.navigation li.is--active > a {
  --navigation-color: var(--navigation-color-active, var(--navigation-color-hover));
}
.navigation--horizontal {
  --navigation-gutter-x: 1.5rem;
  --navigation-gutter-y: 0.5rem;
}
.navigation--horizontal ul {
  flex-direction: row;
}
.navigation--vertical {
  --navigation-gutter-x: 1rem;
  --navigation-gutter-y: 0.5rem;
  margin: 0 0 var(--text-space);
}
.navigation--vertical ul ul {
  padding: var(--navigation-gutter-y) 0 0 var(--navigation-gutter-x);
}
.navigation--mobile {
  --navigation-width: 100%;
  --navigation-bg: var(--color-white);
  --navigation-shadow-blur: 3px;
  --navigation-shadow-spread: 1px;
  --navigation-space-t: 3rem;
  --navigation-space-b: var(--text-space);
  --navigation-space-s: 1.5rem;
  --navigation-space-e: 0.5rem;
  position: fixed;
  top: 0;
  right: calc(-1 * var(--navigation-width) - var(--navigation-shadow-blur) - var(--navigation-shadow-spread));
  bottom: 0;
  width: var(--navigation-width);
  height: auto !important;
  margin: 0;
  padding: 0;
  background: rgb(from var(--navigation-bg) r g b / 85%);
  box-shadow: 0 0 var(--navigation-shadow-blur) var(--navigation-shadow-spread) var(--color-border);
  transition: right 0.3s linear;
  overflow: hidden;
  z-index: 99;
}
@media (min-width: 320px) {
  .navigation--mobile {
    --navigation-width: 100%;
  }
}
@media (min-width: 576px) {
  .navigation--mobile {
    --navigation-width: 62.5%;
  }
}
@media (min-width: 768px) {
  .navigation--mobile {
    --navigation-width: 50%;
  }
}
.is--mobile-open .navigation--mobile {
  right: 0;
}
.navigation--mobile > ul {
  width: 100%;
  height: calc(100% - var(--navigation-space-t));
  margin: var(--navigation-space-t) 0 0;
  padding: 0 var(--navigation-space-e) var(--navigation-space-b) var(--navigation-space-s);
  overflow-y: auto;
}
.navigation[data-menu-expandable="true"] li {
  display: flex;
  flex-wrap: wrap;
}
.navigation[data-menu-expandable="true"] li a {
  order: 1;
}
.navigation[data-menu-expandable="true"] ul ul {
  width: 100%;
  order: 10;
}
.navigation .expand {
  all: unset;
  order: 2;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: calc(var(--navigation-font-size) * var(--navigation-ln));
  height: calc(var(--navigation-font-size) * var(--navigation-ln));
  cursor: pointer;
}
.navigation .expand:focus-visible {
  outline: var(--outline, auto 1px);
}
.navigation .expand:is(:hover, :focus) {
  color: var(--navigation-color-hover);
}
.navigation .expand::after {
  content: "";
  display: block;
  width: calc(var(--navigation-font-size) / 2);
  height: calc(var(--navigation-font-size) / 2);
  border-top: 2px solid var(--navigation-color);
  border-right: 2px solid var(--navigation-color);
  transform: rotate(45deg);
  transform-origin: calc(50% - 1px) calc(50% - 2px);
}
.navigation .expand.is--expanded::after {
  transform: rotate(135deg);
  transform-origin: calc(50% + 1px) calc(50% - 2px);
}
.navigation .expand:not(.is--expanded) + ul {
  display: none;
}
.navigation--breadcrumbs {
  display: flex;
  align-items: baseline;
  margin: 0 0 var(--text-space);
}
.navigation--breadcrumbs > span {
  font-size: var(--navigation-font-size);
  line-height: var(--navigation-ln);
  white-space: pre;
}
.navigation--breadcrumbs ul {
  flex-direction: row;
  flex-wrap: wrap;
}
.navigation--breadcrumbs li {
  display: flex;
  align-items: center;
}
.navigation--breadcrumbs li + li::before {
  content: '\a0/\a0';
}
.sitemaps {
  --navigation-gutter-y: 0.5rem;
  --navigation-header-font-size: var(--font-h4);
  --sitemap-column-width: calc((100% / var(--sitemap-columns)) - (var(--sitemap-gutter-x) * (var(--sitemap-columns) - 1)) / var(--sitemap-columns));
  display: flex;
  flex-wrap: wrap;
  gap: var(--sitemap-gutter-y) var(--sitemap-gutter-x);
}
.sitemaps a {
  font-size: var(--font-size, 1rem);
}
.sitemaps ul:first-child > li > a {
  font-size: var(--navigation-header-font-size);
}
.sitemaps ul ul {
  padding: var(--navigation-gutter-y, 0) 0 0 var(--navigation-gutter-x, 0);
}
.sitemaps ul ul ul {
  --navigation-gutter-x: 1rem;
}
.sitemap {
  flex-basis: var(--sitemap-column-width, auto);
}
#head {
  --viewport-gutter-y: 0.5rem;
}
#head .viewport {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
}
.head--mobile {
  align-self: center;
}
.head--container {
  display: flex;
  justify-content: space-between;
  width: 100%;
}
#logo :where(a, img, svg) {
  display: block;
}
#logo :where(img, svg) {
  width: var(--logo-width, auto);
  height: var(--logo-height, auto);
}
.mobile-menu {
  --color: var(--color-text);
  --color-hover: var(--color-primary);
  --size: 1.5rem;
  --thickness: round(.2rem, 1px);
  all: unset;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0 var(--thickness);
  font-size: 13px;
  line-height: 1;
  color: var(--color);
  z-index: 100;
  cursor: pointer;
}
.mobile-menu:focus-visible {
  outline: var(--outline, auto 1px);
}
.mobile-menu:is(:hover, :focus) {
  --color: var(--color-hover);
}
.menu-symbol {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--thickness) 0;
  margin-top: 2px;
}
.menu-symbol span {
  position: relative;
  display: block;
  width: var(--size);
  height: var(--thickness);
  background: var(--color);
}
.is--mobile-open .menu-symbol span {
  visibility: hidden;
}
.is--mobile-open .menu-symbol span:nth-child(2) {
  visibility: visible;
  background: none;
}
.is--mobile-open .menu-symbol span:nth-child(2)::before,
.is--mobile-open .menu-symbol span:nth-child(2)::after {
  content: "";
  position: absolute;
  inset: 0;
  inset: 0 0;
  inset: 0 0 0;
  inset: 0 0 0 0;
  background: var(--color);
}
.is--mobile-open .menu-symbol span:nth-child(2)::before {
  transform: rotate(45deg);
}
.is--mobile-open .menu-symbol span:nth-child(2)::after {
  transform: rotate(-45deg);
}
.leaflet-container {
  position: relative;
  z-index: 0;
}
#map.leaflet-container {
  width: var(--map-width);
  height: var(--map-height);
}
.mt {
  margin-top: var(--text-space) !important;
}
.mt-s {
  margin-top: var(--text-space-small) !important;
}
.mt-m {
  margin-top: var(--text-space-medium) !important;
}
.mt-l {
  margin-top: var(--text-space-double) !important;
}
.mt-xl {
  margin-top: var(--text-space-large) !important;
}
.mt-0 {
  margin-top: 0 !important;
}
.me {
  margin-right: var(--text-space) !important;
}
.me-s {
  margin-right: var(--text-space-small) !important;
}
.me-m {
  margin-right: var(--text-space-medium) !important;
}
.me-l {
  margin-right: var(--text-space-double) !important;
}
.me-xl {
  margin-right: var(--text-space-large) !important;
}
.me-0 {
  margin-right: 0 !important;
}
.mb {
  margin-bottom: var(--text-space) !important;
}
.mb-s {
  margin-bottom: var(--text-space-small) !important;
}
.mb-m {
  margin-bottom: var(--text-space-medium) !important;
}
.mb-l {
  margin-bottom: var(--text-space-double) !important;
}
.mb-xl {
  margin-bottom: var(--text-space-large) !important;
}
.mb-0 {
  margin-bottom: 0 !important;
}
.ms {
  margin-left: var(--text-space) !important;
}
.ms-s {
  margin-left: var(--text-space-small) !important;
}
.ms-m {
  margin-left: var(--text-space-medium) !important;
}
.ms-l {
  margin-left: var(--text-space-double) !important;
}
.ms-xl {
  margin-left: var(--text-space-large) !important;
}
.ms-0 {
  margin-left: 0 !important;
}
.pt {
  padding-top: var(--text-space) !important;
}
.pt-s {
  padding-top: var(--text-space-small) !important;
}
.pt-m {
  padding-top: var(--text-space-medium) !important;
}
.pt-l {
  padding-top: var(--text-space-double) !important;
}
.pt-xl {
  padding-top: var(--text-space-large) !important;
}
.pt-0 {
  padding-top: 0 !important;
}
.pe {
  padding-right: var(--text-space) !important;
}
.pe-s {
  padding-right: var(--text-space-small) !important;
}
.pe-m {
  padding-right: var(--text-space-medium) !important;
}
.pe-l {
  padding-right: var(--text-space-double) !important;
}
.pe-xl {
  padding-right: var(--text-space-large) !important;
}
.pe-0 {
  padding-right: 0 !important;
}
.pb {
  padding-bottom: var(--text-space) !important;
}
.pb-s {
  padding-bottom: var(--text-space-small) !important;
}
.pb-m {
  padding-bottom: var(--text-space-medium) !important;
}
.pb-l {
  padding-bottom: var(--text-space-double) !important;
}
.pb-xl {
  padding-bottom: var(--text-space-large) !important;
}
.pb-0 {
  padding-bottom: 0 !important;
}
.ps {
  padding-left: var(--text-space) !important;
}
.ps-s {
  padding-left: var(--text-space-small) !important;
}
.ps-m {
  padding-left: var(--text-space-medium) !important;
}
.ps-l {
  padding-left: var(--text-space-double) !important;
}
.ps-xl {
  padding-left: var(--text-space-large) !important;
}
.ps-0 {
  padding-left: 0 !important;
}
.nowrap {
  white-space: nowrap;
}
.break-word {
  overflow-wrap: break-word;
  word-wrap: break-word;
}
.stretched-link::after {
  content: "";
  position: absolute;
  inset: 0;
  inset: 0 0;
  inset: 0 0 0;
  inset: 0 0 0 0;
  z-index: 1;
}
.stretched-link.sr-only {
  display: block;
  position: static !important;
}
.stretched-link-container {
  perspective: 0;
}
.stretched-link-container:has(.stretched-link:focus-visible) {
  outline: var(--outline, auto 1px);
}
.stretched-link-container .stretched-link:focus-visible {
  outline: 0;
}
[class*="frame-space-before-"] {
  margin-top: var(--space-frame);
}
[class*="frame-space-after-"] {
  margin-bottom: var(--space-frame);
}
[class*="frame-space-"][class*="-extra-small"] {
  --space-frame: 0.5rem;
}
[class*="frame-space-"][class*="-small"] {
  --space-frame: 1rem;
}
[class*="frame-space-"][class*="-medium"] {
  --space-frame: 1.5rem;
}
[class*="frame-space-"][class*="-large"] {
  --space-frame: 3rem;
}
[class*="frame-space-"][class*="-extra-large"] {
  --space-frame: 4.5rem;
}
.f3-form-error,
:invalid {
  --invalid-bg: rgba(200, 60, 60, 0.33);
  --invalid-color: #c83c3c;
  --invalid-shadow-color: rgba(0, 0, 0, 0.1);
  --invalid-shadow: inset 0 0 0 1px var(--invalid-shadow-color);
}
.f3-form-error,
:user-invalid {
  background-color: var(--invalid-bg);
  box-shadow: var(--invalid-shadow);
}
.f3-form-error[type="radio"],
:user-invalid[type="radio"],
.f3-form-error[type="checkbox"],
:user-invalid[type="checkbox"] {
  background-color: transparent;
  box-shadow: initial;
}
.f3-form-error[type="radio"] + span,
:user-invalid[type="radio"] + span,
.f3-form-error[type="checkbox"] + span,
:user-invalid[type="checkbox"] + span {
  color: var(--invalid-color);
}
.boolean--trigger {
  /*cursor: pointer;*/
  user-select: none;
  vertical-align: top;
}
.boolean--state {
  position: relative;
  display: inline-block;
  height: 1rem;
  margin-right: 0.25rem;
  line-height: 1;
  z-index: 1;
  cursor: pointer;
  user-select: none;
}
.boolean--state input {
  position: absolute;
  top: 0.125rem;
  width: 0.75rem;
  height: 0.75rem;
  opacity: 0;
  z-index: -1;
  cursor: pointer;
}
.boolean--state input:focus ~ .boolean--icon::before {
  border-color: #5f7285;
}
.boolean--state label {
  position: absolute;
  inset: 0;
  text-indent: -999999px;
  z-index: 1;
  cursor: pointer;
}
.boolean--state.is--default-state input {
  z-index: 2;
}
.boolean--state .boolean--false {
  left: 0.25rem;
}
.boolean--state .boolean--false:checked ~ .boolean--icon::after {
  left: 0.1875rem;
}
.boolean--state .boolean--true {
  right: 0.25rem;
}
.boolean--state .boolean--true:checked ~ .boolean--icon::before {
  background-color: #79a548;
}
.boolean--state .boolean--true:checked ~ .boolean--icon::after {
  left: 1.1875rem;
}
.boolean--state .boolean--true:checked ~ .label--true,
.boolean--state .boolean--true:not(:checked) ~ .label--false {
  z-index: -1;
}
.boolean--state:has(.f3-form-error, :user-invalid) + .boolean--trigger {
  color: var(--invalid-color);
}
.boolean--icon {
  position: relative;
  display: inline-block;
  width: 2.125rem;
  height: 1rem;
}
.boolean--icon::before,
.boolean--icon::after {
  content: "";
  position: absolute;
  transition: all 0.3s ease-in-out;
}
.boolean--icon::before {
  top: -0.0625rem;
  left: 0;
  width: 2rem;
  height: 1rem;
  padding-left: 0;
  background-color: #ccc;
  border: 0.0625rem solid #999;
  border-radius: 0.625rem;
}
.boolean--icon::after {
  top: 0.125rem;
  left: 0.6875rem;
  height: 0.75rem;
  width: 0.75rem;
  background-color: #fff;
  border-radius: 50%;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);
}
.dnd-upload {
  --preview-width: 0px;
  --preview-space: 0px;
  display: grid;
  grid-template-columns: var(--preview-width) var(--preview-space) auto;
  grid-template-rows: repeat(3, auto);
  grid-template-areas: "preview . upload" "file file file" "delete delete delete";
  position: relative;
}
.dnd-upload.has--preview {
  --preview-width: 120px;
  --preview-space: 1rem;
}
.dnd-upload input[type="file"] {
  grid-area: upload;
  z-index: 10;
  opacity: 0;
}
.dnd-upload input[type="file"]:hover ~ .dnd-trigger,
.dnd-upload input[type="file"]:focus ~ .dnd-trigger {
  background-color: #e2e2e2;
}
.dnd-upload--file {
  display: block;
  margin-top: 0.5rem;
}
.dnd-upload--file-name:empty + .dnd-upload--file-none {
  display: inline;
}
.dnd-upload--file-none {
  display: none;
}
.dnd-trigger {
  grid-area: upload;
  display: block;
  padding: 1rem;
  font-size: 1rem;
  background: #f2f2f2;
  border: 1px dashed #333;
}
.dnd-file {
  grid-area: file;
}
.dnd-delete {
  grid-area: delete;
  white-space: nowrap;
  line-height: 1.7;
}
.dnd-delete input[type="checkbox"] {
  display: inline;
  width: auto;
}
.dnd-delete input[type="checkbox"]:disabled + span {
  color: #ccc;
  cursor: not-allowed;
}
.is--required .dnd-delete {
  display: none;
}
.dnd-preview {
  grid-area: preview;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.25rem;
  border: 1px solid #ddd;
  background: #f2f2f2;
}
.dnd-preview img {
  max-width: 100%;
  max-height: 100%;
}
.form-element {
  display: flex;
  flex-direction: column;
  margin: 0 0 var(--text-space-medium);
}
.form.is--submitting {
  cursor: wait;
}
.form.is--submitting * {
  pointer-events: none !important;
}
.form--container {
  --container-columns: 2;
  --container-gap: 1.5rem;
  gap: 0 var(--container-gap);
  display: grid;
  grid-template-columns: repeat(var(--container-columns, 1), 1fr);
  grid-template-rows: auto;
}
.form--container > * {
  padding: 0;
}
.form--container.has--space {
  margin: 3rem 0;
}
.form--line {
  position: relative;
  margin: 0 0 1rem;
}
.form--line.has--buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  margin-top: 3rem;
}
.form--line.has--buttons .order--first {
  order: 0;
}
.form--line.has--buttons .order--left {
  order: 25;
}
.form--line.has--buttons .order--right {
  order: 50;
  margin-left: auto;
}
.form--line.has--buttons .order--last {
  order: 99;
  margin-left: auto;
}
.form--line.has--buttons > *:not([class*="order--"]) {
  order: 25;
}
.form--line.has--buttons > *:not([class*="order--"]):only-child {
  margin-left: auto;
}
.form--line.has--buttons :is(.order--right, .order--last) ~ * {
  margin-left: 0;
}
.note--mandatory-fields:has( + .form--line.has--buttons) {
  margin-top: 3rem;
}
.note--mandatory-fields + .form--line.has--buttons {
  margin-top: 0;
}
.form--line.is--invisible {
  visibility: hidden;
  height: 0;
  margin: 0;
  pointer-events: none;
}
.form--line.is--required .form--label:after,
.form--line.is--required .form--inline-label:after {
  content: "*";
}
.form--label {
  display: block;
  line-height: 1.2;
}
.form--field input:not([type="checkbox"], [type="radio"]),
.form--field textarea,
.form--field select {
  min-width: var(--form-element-minw, 0);
  max-width: var(--form-element-maxw, 100%);
  width: var(--form-element-w, 100%);
}
.form--field.w-auto select,
.form--field select.w-auto {
  --form-element-w: auto;
}
.form--field .f3-form-error,
.show-validity .form--field :invalid {
  background-color: var(--invalid-bg);
  box-shadow: var(--invalid-shadow);
}
.form--field .f3-form-error[type="radio"],
.show-validity .form--field :invalid[type="radio"],
.form--field .f3-form-error[type="checkbox"],
.show-validity .form--field :invalid[type="checkbox"] {
  background-color: transparent;
  box-shadow: initial;
}
.form--field .f3-form-error[type="radio"] + span,
.show-validity .form--field :invalid[type="radio"] + span,
.form--field .f3-form-error[type="checkbox"] + span,
.show-validity .form--field :invalid[type="checkbox"] + span {
  color: var(--invalid-color);
}
.form--field-info {
  display: block;
  font-size: 0.8rem;
  line-height: 1.2;
  margin: 0.25rem 0 0;
}
.form--field.is--checkboxes,
.form--field.is--radio {
  --column-gap-x: 1.5rem;
  --column-gap-y: 0;
  display: flex;
  flex-wrap: wrap;
  gap: var(--column-gap-y) var(--column-gap-x);
}
.form--field.is--checkboxes > *,
.form--field.is--radio > * {
  flex: 0 0 100%;
}
.form--field.is--floating > * {
  flex: 0 0 auto;
}
.form--field.has--columns.cols--2 > * {
  flex-basis: calc((100% - 1 * var(--column-gap-x, 0)) / 2);
}
.form--field.has--columns.cols--3 > * {
  flex-basis: calc((100% - 2 * var(--column-gap-x, 0)) / 3);
}
.form--field.has--columns.cols--4 > * {
  flex-basis: calc((100% - 3 * var(--column-gap-x, 0)) / 4);
}
fieldset {
  margin: 0 0 var(--text-space);
}
@media (max-width: 576px) {
  .form--container {
    --container-columns: 1;
  }
  .form--container .form--container {
    --container-columns: 2;
    padding: 0;
  }
}
:root {
  --captcha-image-width: 150px;
  --captcha-image-height: 40px;
}
@keyframes captcha-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.captcha--container {
  --captcha-image-size: var(--captcha-image-width, 150px);
  --captcha-button-size: 1.5rem;
  display: grid;
  grid-template: auto auto / var(--captcha-image-size) var(--captcha-button-size) var(--captcha-button-size) auto;
  align-items: center;
  gap: 0.25rem 0.5rem;
  margin-bottom: 0.5rem;
  user-select: none;
}
.captcha--container button {
  display: flex;
  padding: 0.25rem;
}
.captcha--container button svg {
  width: auto;
  height: 1rem;
}
.captcha--image {
  grid-area: 1 / 1;
  width: var(--captcha-image-width, auto);
  height: var(--captcha-image-height, auto);
}
.captcha--reload {
  grid-area: 1 / 2;
}
.captcha--spin .captcha--reload svg {
  animation: captcha-spin 0.5s infinite linear;
}
.captcha--audio {
  grid-area: 1 / 3;
}
.captcha--audio .play {
  display: block;
}
.captcha--audio .stop {
  display: none;
}
.captcha--playing .captcha--audio .play {
  display: none;
}
.captcha--playing .captcha--audio .stop {
  display: block;
}
.captcha--input {
  grid-area: 2 / 1 / 2 / 4;
}
.captcha--reloading img {
  opacity: 0.5;
}
.captcha--reloading button {
  pointer-events: none;
}
.pagination--top {
  margin: var(--pagination-margin) 0 var(--pagination-margin-list);
}
.pagination--bottom {
  margin: var(--pagination-margin-list) 0 var(--pagination-margin);
}
.pagination ul {
  display: flex;
  flex-wrap: nowrap;
  gap: 0 var(--pagination-gap);
}
.pagination ul,
.pagination li {
  list-style-type: none;
  margin: 0;
}
.pagination a,
.pagination span {
  display: flex;
  justify-content: center;
  align-items: center;
  width: var(--pagination-item-width);
  height: var(--pagination-item-height);
  font-size: var(--pagination-item-fs);
  color: var(--pagination-link-color);
  background: var(--pagination-link-bg);
  text-decoration: none;
  border-radius: var(--pagination-item-border-radius, 0);
}
.pagination a:is(:hover, :focus) {
  --pagination-link-color: var(--pagination-link-hover);
  --pagination-link-bg: var(--pagination-link-hover-bg);
}
.pagination a.is--active {
  --pagination-link-color: var(--pagination-link-active);
  --pagination-link-bg: var(--pagination-link-active-bg);
}
.pagination span {
  cursor: default;
}
.pagination .is--text {
  --pagination-link-color: var(--pagination-text-color);
  --pagination-link-bg: var(--pagination-text-bg);
}
.pagination .is--disabled {
  opacity: 0.4;
}
.ce-textpic {
  display: grid;
  grid-template-rows: auto;
  gap: var(--gallery-margin-text, 1rem);
}
.ce-textpic:not(:has(.ce-gallery)),
.ce-textpic:not(:has(.ce-bodytext)) {
  --gallery-margin-text: 0;
}
.ce-textpic.ce-above,
.ce-textpic.ce-below {
  grid-template-rows: auto auto;
}
.ce-textpic.ce-left {
  grid-template-columns: auto 1fr;
  grid-template-areas: "gallery content";
}
.ce-textpic.ce-left.ce-above {
  grid-template-areas: "gallery ." "content content";
}
.ce-textpic.ce-left.ce-below {
  grid-template-areas: "content content" "gallery .";
}
.ce-textpic.ce-center {
  grid-template-columns: 1fr auto 1fr;
  column-gap: 0;
}
.ce-textpic.ce-center.ce-above {
  grid-template-areas: ". gallery ." "content content content";
}
.ce-textpic.ce-center.ce-below {
  grid-template-areas: "content content content" ". gallery .";
}
.ce-textpic.ce-right {
  grid-template-columns: 1fr auto;
  grid-template-areas: "content gallery";
}
.ce-textpic.ce-right.ce-above {
  grid-template-areas: ". gallery" "content content";
}
.ce-textpic.ce-right.ce-below {
  grid-template-areas: "content content" ". gallery";
}
.ce-textpic.ce-intext:not(.ce-nowrap) {
  display: block;
}
.ce-textpic.ce-intext:not(.ce-nowrap)::after {
  content: ".";
  display: block;
  clear: both;
  font-size: 0;
  height: 0;
  visibility: hidden;
}
.ce-textpic.ce-intext .ce-gallery {
  margin-bottom: var(--gallery-margin-text-y, var(--gallery-margin-text, var(--text-space)));
}
.ce-textpic.ce-intext.ce-left .ce-gallery {
  float: left;
  margin-right: var(--gallery-margin-text-x, var(--gallery-margin-text));
}
.ce-textpic.ce-intext.ce-right .ce-gallery {
  float: right;
  margin-left: var(--gallery-margin-text-x, var(--gallery-margin-text));
}
.ce-textpic.ce-nowrap:has(.ce-gallery) .ce-header :first-child {
  margin-top: 0;
}
.ce-textpic.ce-nowrap .ce-gallery {
  --gallery-margin-text-x: 0;
}
.ce-textpic .ce-gallery {
  grid-area: gallery;
}
.ce-textpic .ce-bodytext {
  grid-area: content;
}
.ce-gallery,
.ce-gallery .ce-inner {
  container: ce-gallery;
  display: flex;
  flex-direction: column;
  gap: var(--gallery-gutter-y) 0;
}
.ce-gallery[data-ce-columns="2"] {
  --gallery-columns: 2;
}
.ce-gallery[data-ce-columns="3"] {
  --gallery-columns: 3;
}
.ce-gallery[data-ce-columns="4"] {
  --gallery-columns: 4;
}
.ce-gallery[data-ce-columns="5"] {
  --gallery-columns: 5;
}
.ce-gallery[data-ce-columns="6"] {
  --gallery-columns: 6;
}
.ce-gallery[data-ce-columns="7"] {
  --gallery-columns: 7;
}
.ce-gallery[data-ce-columns="8"] {
  --gallery-columns: 8;
}
.ce-gallery .ce-row {
  display: grid;
  grid-template: auto / repeat(var(--gallery-columns, 1), var(--gallery-column-width, 1fr));
  gap: 0 var(--gallery-gutter-x);
}
@container ce-gallery style(--gallery-column-fill) {
  .ce-gallery .ce-row {
    grid-template-columns: repeat(var(--gallery-columns, 1), var(--gallery-column-width, 1fr)) var(--gallery-column-fill);
  }
}
.confirm--dialog {
  --confirm-color: var(--color-text);
  --confirm-bg: var(--color-body);
  --confirm-width: 30rem;
  --confirm-margin: 1rem;
  --confirm-gutter-x: 1.5rem;
  --confirm-gutter-y: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: var(--confirm-gutter-y) var(--confirm-gutter-x);
  max-width: calc(clamp(240px, var(--confirm-width), 100%) - (2 * var(--confirm-margin)));
  max-height: calc(100% - (2 * var(--confirm-margin)));
  margin: auto;
  padding: var(--confirm-gutter-y) var(--confirm-gutter-x);
  background: var(--confirm-bg);
  border: none;
  box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.25);
}
.confirm--notice {
  --confirm-color: var(--color-notice-contrast);
  --confirm-bg: var(--color-notice);
}
.confirm--info {
  --confirm-color: var(--color-info-contrast);
  --confirm-bg: var(--color-info);
}
.confirm--success {
  --confirm-color: var(--color-success-contrast);
  --confirm-bg: var(--color-success);
}
.confirm--warning {
  --confirm-color: var(--color-warning-contrast);
  --confirm-bg: var(--color-warning);
}
.confirm--error {
  --confirm-color: var(--color-error-contrast);
  --confirm-bg: var(--color-error);
}
.confirm--message > *:last-child {
  margin-bottom: 0;
}
.confirm--buttons {
  --confirm-gutter-x: 1.5rem;
  --confirm-gutter-y: 0.5rem;
  display: flex;
  flex-direction: row;
  gap: var(--confirm-gutter-y) var(--confirm-gutter-x);
}
:root {
  --note-color: var(--color-notice-contrast);
  --note-bg: var(--color-notice);
  --note-px: 1rem;
  --note-py: 0.75rem;
}
.note {
  position: relative;
  display: block;
  margin: 0 0 var(--text-space);
  padding: var(--note-py) calc(var(--note-py) * 2) var(--note-py) var(--note-px);
  color: var(--note-color);
  background: var(--note-bg);
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1);
}
.note--info {
  --note-color: var(--color-info-contrast);
  --note-bg: var(--color-info);
}
.note--success {
  --note-color: var(--color-success-contrast);
  --note-bg: var(--color-success);
}
.note--warning {
  --note-color: var(--color-warning-contrast);
  --note-bg: var(--color-warning);
}
.note--error {
  --note-color: var(--color-error-contrast);
  --note-bg: var(--color-error);
}
.note--narrow {
  --note-px: 0.5rem;
  --note-py: 0.25rem;
}
.note + .note {
  margin-top: calc(var(--text-space-small) - var(--text-space));
}
.note > *:last-child {
  margin-bottom: 0;
}
.note .icon--cross {
  float: right;
  margin-right: calc(0 - var(--text-space));
  cursor: pointer;
}
.note .icon--cross::before {
  content: "\2715";
  display: block;
  font-family: sans-serif;
  line-height: 1;
}
.note .icon--cross::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.note details {
  font-size: 0.875rem;
  line-height: 1.5;
}
.note details summary {
  margin-top: var(--text-space-small);
  color: var(--note-color);
  text-decoration: none;
  cursor: pointer;
}
.note details summary:is(:hover, :focus) {
  color: var(--note-color);
  text-decoration: underline;
}
.note details:is(:open,[open]) summary {
  margin-bottom: var(--text-space-small);
}
.modal {
  --modal-color: var(--color-text);
  --modal-bg: var(--color-body);
  --modal-width: 46rem;
  --modal-height: 60vh;
  --modal-padding: 3rem;
  --modal-margin: 1rem;
  --modal-header-size: 3rem;
  --modal-header-fs: 1.25rem;
  --modal-header-lh: 2rem;
  --modal-header-color: #fff;
  --modal-header-bg: #888;
  --modal-cross-size: 2rem;
  --modal-cross-offset: 0.5rem;
  --modal-cross-color: var(--color-link);
  --modal-cross-color-hover: var(--color-link-hover);
  flex-direction: column;
  max-width: calc(100% - (2 * var(--modal-margin)));
  width: var(--modal-width);
  max-height: calc(100% - (2 * var(--modal-margin)));
  height: var(--modal-height);
  margin: auto;
  padding: var(--modal-padding) 0 0;
  color: var(--modal-color);
  background: var(--modal-bg);
  border: none;
  box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.25);
}
.modal:is(:open,[open]) {
  display: flex;
}
.modal--header {
  flex: 0 0 var(--modal-header-size);
  margin: 0;
  padding: calc((var(--modal-padding) - var(--modal-header-lh)) / 2) var(--modal-padding);
  padding-right: calc(var(--modal-padding) + var(--modal-cross-size));
  font-size: var(--modal-header-fs);
  line-height: var(--modal-header-lh);
  color: var(--modal-header-color);
  background: var(--modal-header-bg);
  overflow: hidden;
}
.modal--header div {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.modal--content {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0 var(--modal-padding) var(--modal-padding);
  overflow-y: auto;
}
.modal--close.is--cross {
  all: unset;
  position: absolute;
  top: var(--modal-cross-offset);
  right: var(--modal-cross-offset);
  width: var(--modal-cross-size);
  height: var(--modal-cross-size);
  cursor: pointer;
  transform: rotate(45deg);
  z-index: 1;
  outline: 0;
}
.modal--close.is--cross::before,
.modal--close.is--cross::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  background: var(--modal-cross-color);
}
.modal--close.is--cross::before {
  top: 50%;
  margin-top: -1px;
  width: var(--modal-cross-size);
  height: 2px;
}
.modal--close.is--cross::after {
  left: 50%;
  margin-left: -1px;
  width: 2px;
  height: var(--modal-cross-size);
}
.modal--close.is--cross:is(:hover, :focus) {
  --modal-cross-color: var(--modal-cross-color-hover);
}
.modal--close.is--cross:focus-visible {
  outline: var(--outline, auto 1px);
}
.modal.has--header {
  --modal-cross-color: #fff;
  --modal-cross-color-hover: #eee;
  padding-top: 0;
}
.modal.has--header .modal--content {
  padding: var(--modal-padding);
}
.modal.is--small {
  --modal-width: 20rem;
  --modal-height: 33vh;
  --modal-padding: 1.5rem;
  --modal-header-size: 1.5rem;
  --modal-header-fs: 1rem;
  --modal-header-lh: 1.5rem;
  --modal-cross-size: 1rem;
  --modal-cross-offset: 0.25rem;
}
.modal.has--dynamic-height {
  --modal-height: fit-content;
}
.linearize-below-xxs {
  --row-gap: 3rem;
  flex-direction: column !important;
}
.linearize-below-xxs > [class*="column--"] {
  width: 100% !important;
}
.linearize-below-xxs > [class*="column--"]:empty {
  display: none;
}
.linearize-below-xxs > [class*="column--"]:not(:first-child) [class*="frame-space-before-"]:first-child,
.linearize-below-xxs > [class*="column--"]:not(:last-child) [class*="frame-space-after-"]:last-child {
  --space-frame: 0;
}
.linearize-xxs {
  --row-gap: 3rem;
  flex-direction: column !important;
}
.linearize-xxs > [class*="column--"] {
  width: 100% !important;
}
.linearize-xxs > [class*="column--"]:empty {
  display: none;
}
.linearize-xxs > [class*="column--"]:not(:first-child) [class*="frame-space-before-"]:first-child,
.linearize-xxs > [class*="column--"]:not(:last-child) [class*="frame-space-after-"]:last-child {
  --space-frame: 0;
}
@media (max-width: 319.98px) {
  .linearize-below-xs {
    --row-gap: 3rem;
    flex-direction: column !important;
  }
  .linearize-below-xs > [class*="column--"] {
    width: 100% !important;
  }
  .linearize-below-xs > [class*="column--"]:empty {
    display: none;
  }
  .linearize-below-xs > [class*="column--"]:not(:first-child) [class*="frame-space-before-"]:first-child,
  .linearize-below-xs > [class*="column--"]:not(:last-child) [class*="frame-space-after-"]:last-child {
    --space-frame: 0;
  }
}
@media (max-width: 320px) {
  .linearize-xs {
    --row-gap: 3rem;
    flex-direction: column !important;
  }
  .linearize-xs > [class*="column--"] {
    width: 100% !important;
  }
  .linearize-xs > [class*="column--"]:empty {
    display: none;
  }
  .linearize-xs > [class*="column--"]:not(:first-child) [class*="frame-space-before-"]:first-child,
  .linearize-xs > [class*="column--"]:not(:last-child) [class*="frame-space-after-"]:last-child {
    --space-frame: 0;
  }
}
@media (max-width: 575.98px) {
  .linearize-below-sm {
    --row-gap: 3rem;
    flex-direction: column !important;
  }
  .linearize-below-sm > [class*="column--"] {
    width: 100% !important;
  }
  .linearize-below-sm > [class*="column--"]:empty {
    display: none;
  }
  .linearize-below-sm > [class*="column--"]:not(:first-child) [class*="frame-space-before-"]:first-child,
  .linearize-below-sm > [class*="column--"]:not(:last-child) [class*="frame-space-after-"]:last-child {
    --space-frame: 0;
  }
}
@media (max-width: 576px) {
  .linearize-sm {
    --row-gap: 3rem;
    flex-direction: column !important;
  }
  .linearize-sm > [class*="column--"] {
    width: 100% !important;
  }
  .linearize-sm > [class*="column--"]:empty {
    display: none;
  }
  .linearize-sm > [class*="column--"]:not(:first-child) [class*="frame-space-before-"]:first-child,
  .linearize-sm > [class*="column--"]:not(:last-child) [class*="frame-space-after-"]:last-child {
    --space-frame: 0;
  }
}
@media (max-width: 767.98px) {
  .linearize-below-md {
    --row-gap: 3rem;
    flex-direction: column !important;
  }
  .linearize-below-md > [class*="column--"] {
    width: 100% !important;
  }
  .linearize-below-md > [class*="column--"]:empty {
    display: none;
  }
  .linearize-below-md > [class*="column--"]:not(:first-child) [class*="frame-space-before-"]:first-child,
  .linearize-below-md > [class*="column--"]:not(:last-child) [class*="frame-space-after-"]:last-child {
    --space-frame: 0;
  }
}
@media (max-width: 768px) {
  .linearize-md {
    --row-gap: 3rem;
    flex-direction: column !important;
  }
  .linearize-md > [class*="column--"] {
    width: 100% !important;
  }
  .linearize-md > [class*="column--"]:empty {
    display: none;
  }
  .linearize-md > [class*="column--"]:not(:first-child) [class*="frame-space-before-"]:first-child,
  .linearize-md > [class*="column--"]:not(:last-child) [class*="frame-space-after-"]:last-child {
    --space-frame: 0;
  }
}
@media (max-width: 1023.98px) {
  .linearize-below-lg {
    --row-gap: 3rem;
    flex-direction: column !important;
  }
  .linearize-below-lg > [class*="column--"] {
    width: 100% !important;
  }
  .linearize-below-lg > [class*="column--"]:empty {
    display: none;
  }
  .linearize-below-lg > [class*="column--"]:not(:first-child) [class*="frame-space-before-"]:first-child,
  .linearize-below-lg > [class*="column--"]:not(:last-child) [class*="frame-space-after-"]:last-child {
    --space-frame: 0;
  }
}
@media (max-width: 1024px) {
  .linearize-lg {
    --row-gap: 3rem;
    flex-direction: column !important;
  }
  .linearize-lg > [class*="column--"] {
    width: 100% !important;
  }
  .linearize-lg > [class*="column--"]:empty {
    display: none;
  }
  .linearize-lg > [class*="column--"]:not(:first-child) [class*="frame-space-before-"]:first-child,
  .linearize-lg > [class*="column--"]:not(:last-child) [class*="frame-space-after-"]:last-child {
    --space-frame: 0;
  }
}
@media (max-width: 1365.98px) {
  .linearize-below-xl {
    --row-gap: 3rem;
    flex-direction: column !important;
  }
  .linearize-below-xl > [class*="column--"] {
    width: 100% !important;
  }
  .linearize-below-xl > [class*="column--"]:empty {
    display: none;
  }
  .linearize-below-xl > [class*="column--"]:not(:first-child) [class*="frame-space-before-"]:first-child,
  .linearize-below-xl > [class*="column--"]:not(:last-child) [class*="frame-space-after-"]:last-child {
    --space-frame: 0;
  }
}
@media (max-width: 1366px) {
  .linearize-xl {
    --row-gap: 3rem;
    flex-direction: column !important;
  }
  .linearize-xl > [class*="column--"] {
    width: 100% !important;
  }
  .linearize-xl > [class*="column--"]:empty {
    display: none;
  }
  .linearize-xl > [class*="column--"]:not(:first-child) [class*="frame-space-before-"]:first-child,
  .linearize-xl > [class*="column--"]:not(:last-child) [class*="frame-space-after-"]:last-child {
    --space-frame: 0;
  }
}
@media (max-width: 1439.98px) {
  .linearize-below-xxl {
    --row-gap: 3rem;
    flex-direction: column !important;
  }
  .linearize-below-xxl > [class*="column--"] {
    width: 100% !important;
  }
  .linearize-below-xxl > [class*="column--"]:empty {
    display: none;
  }
  .linearize-below-xxl > [class*="column--"]:not(:first-child) [class*="frame-space-before-"]:first-child,
  .linearize-below-xxl > [class*="column--"]:not(:last-child) [class*="frame-space-after-"]:last-child {
    --space-frame: 0;
  }
}
@media (max-width: 1440px) {
  .linearize-xxl {
    --row-gap: 3rem;
    flex-direction: column !important;
  }
  .linearize-xxl > [class*="column--"] {
    width: 100% !important;
  }
  .linearize-xxl > [class*="column--"]:empty {
    display: none;
  }
  .linearize-xxl > [class*="column--"]:not(:first-child) [class*="frame-space-before-"]:first-child,
  .linearize-xxl > [class*="column--"]:not(:last-child) [class*="frame-space-after-"]:last-child {
    --space-frame: 0;
  }
}
@media print {
  .no-print {
    display: none !important;
  }
}
/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}
.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}
.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.slick-track:before,
.slick-track:after {
  content: "";
  display: table;
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}
.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}
[dir="rtl"] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
  display: none;
}
/* Slider */
.slick-loading .slick-list {
  background: #fff url('/typo3conf/ext/rev/Resources/Public/Css/slick/ajax-loader.gif') center center no-repeat;
}
/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none;
}
.slick-prev:hover,
.slick-next:hover,
.slick-prev:focus,
.slick-next:focus {
  outline: none;
  background: transparent;
  color: transparent;
}
.slick-prev:hover:before,
.slick-next:hover:before,
.slick-prev:focus:before,
.slick-next:focus:before {
  opacity: 1;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: 0.25;
}
.slick-prev:before,
.slick-next:before {
  font-family: "slick";
  font-size: 20px;
  line-height: 1;
  color: white;
  opacity: 0.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  /* Icons */
}
@font-face {
  font-family: 'slick';
  font-weight: normal;
  font-style: normal;
  src: url('/typo3conf/ext/rev/Resources/Public/Css/slick/fonts/slick.eot');
  src: url('/typo3conf/ext/rev/Resources/Public/Css/slick/fonts/slick.eot?#iefix') format('embedded-opentype'), url('/typo3conf/ext/rev/Resources/Public/Css/slick/fonts/slick.woff') format('woff'), url('/typo3conf/ext/rev/Resources/Public/Css/slick/fonts/slick.ttf') format('truetype'), url('/typo3conf/ext/rev/Resources/Public/Css/slick/fonts/slick.svg#slick') format('svg');
}
.slick-prev {
  left: -25px;
}
[dir="rtl"] .slick-prev {
  left: auto;
  right: -25px;
}
.slick-prev:before {
  content: "←";
}
[dir="rtl"] .slick-prev:before {
  content: "→";
}
.slick-next {
  right: -25px;
}
[dir="rtl"] .slick-next {
  left: -25px;
  right: auto;
}
.slick-next:before {
  content: "→";
}
[dir="rtl"] .slick-next:before {
  content: "←";
}
/* Dots */
.slick-dotted .slick-slider {
  margin-bottom: 30px;
}
.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%;
}
.slick-dots li {
  position: relative;
  display: inline-block;
  height: 20px;
  width: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
}
.slick-dots li button {
  border: 0;
  background: transparent;
  display: block;
  height: 20px;
  width: 20px;
  outline: none;
  line-height: 0px;
  font-size: 0px;
  color: transparent;
  padding: 5px;
  cursor: pointer;
}
.slick-dots li button:hover,
.slick-dots li button:focus {
  outline: none;
}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
  opacity: 1;
}
.slick-dots li button:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "•";
  width: 20px;
  height: 20px;
  font-family: "slick";
  font-size: 6px;
  line-height: 20px;
  text-align: center;
  color: black;
  opacity: 0.25;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before {
  color: black;
  opacity: 0.75;
}
/*
@import "_include/grid";
@import "_include/map";
@import "_include/accordion";
@import "_include/form";
@import "_include/select2";
@import "_include/details";
@import "_include/pagination";
@import "_include/results";
@import "_include/notepad";
@import "_include/editor";
@import "_include/responsive";
*/
:root {
  --color-text: #333;
  --color-primary: #e1001a;
  --color-secondary: #a90614;
  --color-grey: #666;
  --color-link: var(--color-primary);
  --color-link-hover: var(--color-secondary);
  --color-h1: var(--color-primary);
  --color-h2: var(--color-text);
  --font-base-family: 'Open Sans', sans-serif;
  --font-base-size: 16px;
  --font-size-small: 14px;
  --font-size-large: 1.65rem;
  --font-hx-family: 'Open Sans', sans-serif;
  --font-h1: 2.5rem;
  --font-h2: 1.875rem;
  --font-h4-wgt: 600;
  --headline-mt: 1.5em;
  --headline-mb: 0.5em;
  --viewport: 110rem;
  --viewport-gutter-t: 1rem;
}
.viewport--small {
  --viewport: 65rem;
  --viewport-gutter-t: 0;
  --viewport-gutter-b: 0;
}
.navigation {
  --navigation-color: var(--color-text);
  --navigation-color-hover: var(--color-primary);
}
.navigation.sitemaps {
  --navigation-color: var(--color-white);
  --navigation-color-hover: var(--color-black);
}
/*@logoUseAboveMediaQuery: true;*/
#head {
  --viewport-gutter-t: 0.5rem;
  position: fixed;
  inset: 0 0 auto 0;
  background: var(--color-body);
  z-index: 100;
  box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.25);
}
.head--container {
  align-items: center;
}
#main {
  padding-top: var(--computed-header-height, calc(var(--logo-height) + 1rem));
}
#foot {
  --viewport: 81rem;
}
#foot--contact {
  --font-size: var(--font-size-large);
  --color-h3: var(--color-h1);
  --font-h3: var(--font-h1);
  --viewport-gutter-t: 6rem;
  --viewport-gutter-b: 4.5rem;
  background: var(--color-light);
}
#foot--image {
  position: relative;
  width: 100%;
  height: 0;
  padding: 0 0 17.5%;
  background: linear-gradient(180deg, var(--color-light) 50%, var(--color-grey) 50%);
}
#foot--image span {
  position: absolute;
  inset: 0;
  background: url(/typo3conf/ext/website_rev/Resources/Public/Images/footer.png) no-repeat scroll 50% 50% transparent;
  background-size: cover;
  z-index: 1;
}
#sitemap {
  --color-h3: var(--color-white);
  --font-h3: var(--font-h1);
  --viewport-gutter-t: 3rem;
  --viewport-gutter-b: 6rem;
  background: var(--color-grey);
}
.feedback--link {
  position: fixed;
  right: 0;
  bottom: 50vh;
  padding: 0.25rem 0.5rem;
  line-height: 1.2;
  color: var(--color-btn);
  text-decoration: none;
  background: var(--color-btn-bg);
  transform: rotate(270deg);
  transform-origin: 100% 100%;
  z-index: 15;
}
.feedback--link:focus,
.feedback--link:hover {
  --color-btn: var(--color-btn-hover);
  --color-btn-bg: var(--color-btn-hover-bg);
}
#mainnav {
  --navigation-font-size: 1.25rem;
}
.mainnav-login {
  position: relative;
}
.mainnav-login .login--trigger {
  all: unset;
  display: flex;
  gap: 0 0.25rem;
  font-size: var(--navigation-font-size);
  line-height: var(--navigation-ln);
  color: var(--navigation-color);
  cursor: pointer;
}
.mainnav-login .login--trigger:focus,
.mainnav-login .login--trigger:hover {
  --navigation-color: var(--navigation-color-hover);
}
.mainnav-login .login--register {
  position: absolute;
  font-size: var(--font-size-small);
  margin-top: 0.5rem;
}
.icon-link svg {
  all: unset;
  display: block;
  width: 1.5rem;
  height: 1.5rem;
}
.icon-link svg path {
  fill: currentColor;
}
.notepad--link {
  position: relative;
  z-index: 0;
}
.notepad--link .badge {
  position: absolute;
  inset: -0.5em -0.5em auto auto;
  display: block;
  width: 1.5em;
  height: 1.5em;
  font-size: 0.5em;
  text-align: center;
  line-height: 1.5;
  color: var(--color-white);
  background: var(--color-primary);
  z-index: 1;
}
.notepad--link .badge:empty {
  display: none;
}
.navigation--breadcrumbs {
  --navigation-font-size: var(--font-size-small);
}
.accordion {
  --accordion-icon-bg: var(--color-primary);
  --accordion-icon-bw: 0.4em 0.4em 0 0.4em;
  --accordion-icon-btc: var(--color-white);
  --accordion-icon-bbc: transparent;
  margin: 0 0 1rem;
}
.accordion summary {
  --headline-mt: 0;
  --headline-mb: 0;
  display: flex;
  gap: 0 0.75rem;
}
.accordion summary:hover,
.accordion summary:focus {
  --accordion-icon-bg: var(--color-secondary);
}
.accordion--icon {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 1.5rem;
  height: 1.5rem;
  background: var(--accordion-icon-bg);
}
.accordion--icon::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  font-size: 0.8em;
  border: 0 solid transparent;
  border-width: var(--accordion-icon-bw);
  border-top-color: var(--accordion-icon-btc);
  border-bottom-color: var(--accordion-icon-bbc);
}
.accordion--content {
  padding-top: 0.5rem;
}
.accordion[open] {
  --accordion-icon-bw: 0 0.4em 0.4em 0.4em;
  --accordion-icon-btc: transparent;
  --accordion-icon-bbc: var(--color-white);
}
.search-extended .accordion,
.rev--details .accordion {
  --accordion-icon-bg: var(--color-text);
  box-shadow: 1px 1px 6px 0 rgba(0, 0, 0, 0.25);
}
.search-extended .accordion summary,
.rev--details .accordion summary {
  padding: 0.5rem 1rem 0.5rem 0.75rem;
}
.search-extended .accordion--icon,
.rev--details .accordion--icon {
  background: none;
}
.search-extended .accordion--icon::before,
.rev--details .accordion--icon::before {
  --accordion-icon-bw: 0.75rem 0.375rem 0 0.375rem;
  --accordion-icon-btc: var(--accordion-icon-bg);
  --accordion-icon-bbc: transparent;
}
.search-extended .accordion--content,
.rev--details .accordion--content {
  padding: 1rem 1rem 1.5rem;
}
#formular--login {
  --color-h2: var(--color-h1);
}
fieldset {
  margin: 0 0 var(--text-space-double);
}
.form--float {
  container: form--float / inline-size;
}
.form--float .form--line {
  display: flex;
  gap: 0 1rem;
}
.form--float .form--line .form--label {
  flex: 0 0 13rem;
}
.form--float .form--line .form--field {
  flex: 1;
}
.form--float .form--line:not(:has(> .form--label)) {
  padding-left: 14rem;
}
@container form--float (width < 400px) {
  .form--float .form--line {
    display: block;
    padding-left: 0 !important;
  }
}
.form.is--small,
.form .is--small {
  max-width: 32rem;
}
.form--fieldset-container {
  --container-gap: 4.5rem;
}
.form--container:not(.form--fieldset-container) {
  --container-columns: 12;
}
.form--container:not(.form--fieldset-container):has(>.w-20) {
  --container-columns: 5;
}
.form--container:not(.form--fieldset-container):has(>.w-20) .w-20 {
  grid-column: auto / span 1;
}
.form--container:not(.form--fieldset-container) > .w-25 {
  grid-column: auto / span 3;
}
.form--container:not(.form--fieldset-container) > .w-33 {
  grid-column: auto / span 4;
}
.form--container:not(.form--fieldset-container) > .w-50 {
  grid-column: auto / span 6;
}
.form--container:not(.form--fieldset-container) > .w-75 {
  grid-column: auto / span 9;
}
.form--inline {
  display: flex;
  align-items: baseline;
  gap: 0 0.5rem;
}
.form--suffix::before {
  content: "\a0";
}
.form--label {
  margin-bottom: 0.25rem;
}
.form--field-geo {
  display: flex;
}
.form--field .inline {
  --form-element-py: 0.25rem;
  --form-element-px: 0.25rem;
  --form-element-w: 2rem;
  display: inline-block;
  text-align: center;
}
.form--field.is--inline .form--items {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.5rem;
}
.form--field .form--element-tiny {
  --form-element-maxw: 5rem;
}
.form--field .form--element-small {
  --form-element-maxw: 8rem;
}
.form--field .form--element-medium {
  --form-element-maxw: 12rem;
}
.form--field-text.is--small {
  font-size: var(--font-size-small);
}
.form--field.has--info {
  display: flex;
  align-items: baseline;
  gap: 0 0.5rem;
}
.form--item,
.form--item label {
  display: flex;
  gap: 0 0.5rem;
  align-items: baseline;
  line-height: 1.2;
}
.form--info-icon {
  display: block;
  color: var(--color-btn-bg);
  cursor: pointer;
}
.form--info-icon svg {
  display: block;
  width: 15px;
  height: 15px;
}
.form--info-icon path {
  fill: currentColor;
}
.form--option-toggle {
  width: 100%;
}
.form--option-toggle [data-option-toggle] {
  font-size: var(--font-size-small);
}
.form--item-list {
  max-height: 9rem;
  padding: var(--form-element-py) var(--form-element-px);
  background: var(--form-element-bg);
  border: var(--form-element-border-width) var(--form-element-border-style) var(--form-element-border-color);
  border-radius: var(--form-element-border-radius, 0);
  overflow-y: auto;
}
fieldset:not(.form--line) > legend {
  font-size: var(--font-h3);
  line-height: var(--font-hx-ln);
  margin: 0 0 var(--headline-mb);
}
fieldset[class*="cols-"] {
  display: flex;
  flex-wrap: wrap;
  gap: 0 1.5rem;
}
fieldset[class*="cols-"] .form--line {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}
fieldset.brline {
  border-top: 1px solid var(--color-text);
  padding-top: 1rem;
}
fieldset.cols-2 .form--field {
  width: 50%;
}
fieldset.cols-3 .form--field {
  width: 33.33333333%;
}
fieldset.cols-4 .form--field {
  width: 25%;
}
.form--occupancy-agreement {
  display: block;
}
.form--occupancy-agreement label {
  width: 100%;
}
.form--occupancy-agreement select {
  display: inline-block;
  width: auto;
}
.oneline {
  display: flex;
  align-items: baseline;
}
.modal {
  --modal-header-color: var(--color-primary);
  --modal-header-bg: var(--color-body);
}
.modal.has--header {
  --modal-cross-color: var(--color-link);
  --modal-cross-color-hover: var(--color-link-hover);
}
.modal--content > *:is(h2,h3):first-child {
  margin-top: 0;
}
.is--logout-modal {
  --modal-width: 30rem;
  --modal-height: 11rem;
}
.grid {
  --column-gap: 3rem;
}
.is--secondary {
  --color-link: var(--color-text);
}
.note--small {
  font-size: var(--font-size-small);
}
a:has(svg) {
  display: inline-block;
}
a svg {
  display: inline-block;
  width: 1.2rem;
  height: 1.2rem;
  margin-right: 0.25rem;
  vertical-align: text-bottom;
}
.tippy-content a {
  --color-link: currentColor;
}
.select2-dropdown {
  border-radius: 0;
}
.select2-results__option {
  position: relative;
  margin: 0;
}
.select2-results__option a {
  color: inherit;
  text-decoration: none;
}
.select2-results__option small {
  display: block;
}
.select2-container {
  z-index: 10;
}
.select2-container .select2-selection--multiple {
  border-radius: 0;
}
.select2-container .select2-selection__rendered {
  display: block;
  padding-bottom: 5px;
}
.select2-container .select2-selection__rendered li {
  margin-left: 0;
}
.select2-container .select2-selection__rendered .select2-search__field {
  line-height: 1.5em;
  border: 1px solid transparent;
}
.select2-container--default .select2-selection--single {
  font-family: var(--font-family);
  color: var(--form-element-color);
  background: var(--color-light);
  padding: 0 var(--form-element-px);
  line-height: var(--form-element-ln);
  border: var(--form-element-border-width) var(--form-element-border-style) var(--form-element-border-color);
  border-radius: var(--form-element-border-radius, 0);
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
  padding-left: 0;
}
.rev--quick_search {
  margin-bottom: var(--text-space-large);
}
.rev--quick_search .form {
  display: grid;
  grid-template: "search submit" "filter filter" / 1fr auto;
  gap: 1rem 2rem;
  font-size: 1.375rem;
}
.rev--quick_search .is--quick-search-suggest {
  grid-area: search;
}
.rev--quick_search .is--quick-search-reha {
  grid-area: filter;
}
.rev--quick_search .form--line.has--buttons {
  grid-area: submit;
  margin-top: 0;
}
.rev--quick_search .select2-container--default :is(.select2-selection--single, .select2-selection__rendered, .select2-selection__arrow) {
  height: 1.7em;
  line-height: 1.7;
}
.rev--search .grid {
  --row-gap: 0;
  --column-gap: 0;
  grid-template: auto 1.5em auto / calc((100% - 1.5rem) * 0.375) 1.5rem calc((100% - 1.5rem) * 0.625);
}
.rev--search fieldset {
  margin: 0;
}
.grid-map {
  grid-column: 3;
  grid-row: 1;
}
.grid-search-simple {
  grid-column: 1;
  grid-row: 1;
}
.grid-search-simple > h2 {
  margin-top: 0;
}
.grid-search-simple.accordion {
  margin: 0;
  box-shadow: none;
}
.grid-search-simple.accordion .search-extended {
  margin: -0.5rem;
  padding: 0.5rem;
}
.grid-search-results {
  grid-column: 1 / -1;
  grid-row: 3;
}
.grid-search-results > h2 {
  margin-top: 0;
}
.grid-search-results:not(.has--results) > h2 {
  display: none;
}
.map-city ~ .or {
  margin: 0 0.5rem;
}
.map-toggle-position {
  white-space: nowrap;
}
#search-umkreis {
  width: 5rem;
}
#accompaniment-pflegestufeBegleitperson {
  --form-element-w: 3rem;
}
.search-extended > summary {
  display: none;
}
.search-extended[open] > summary {
  display: block;
}
#main .viewport {
  overflow: visible;
}
.map-container {
  position: sticky;
  top: var(--computed-header-height, 100px);
  width: 100%;
  height: calc(100vh - var(--computed-header-height, 100px) - 2.5rem - 0.875rem);
  overflow: hidden;
}
.map-container .map {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 0;
}
.leaflet-container .leaflet-popup-content a {
  display: block;
  color: var(--color-text);
  text-decoration: none;
}
.leaflet-container .leaflet-popup-content a:hover,
.leaflet-container .leaflet-popup-content a:focus {
  text-decoration: underline;
}
@keyframes loading--icon {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.result-list {
  --result-item-width: 33.333%;
  --result-gap: 1.5rem;
  --result-items: 3;
  display: flex;
  flex-wrap: wrap;
  gap: var(--result-gap);
}
.result-list.is--loading {
  position: relative;
  min-height: 4rem;
  z-index: 0;
}
.result-list.is--loading::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgb(from var(--color-white) r g b / 0.5);
  z-index: 1;
}
.result-list.is--loading .loading--icon {
  position: sticky;
  z-index: 3;
  display: block;
  width: 4rem;
  height: 4rem;
  top: 50vh;
  left: 50%;
  transform: translate(-50%);
}
.result-list.is--loading .loading--icon::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border: 4px solid transparent;
  border-color: var(--color-text) transparent;
  border-radius: 50%;
  animation: loading--icon 1.2s linear infinite;
}
.result-list.is--loading .loading--indicator {
  position: absolute;
  inset: 0;
  z-index: 2;
}
.result-list-control {
  display: none;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.5rem 0;
  margin: 1.5rem 0 0.75rem;
}
.has--results > .result-list-control {
  display: flex;
}
.result-list-order {
  display: flex;
  gap: 0 0.5rem;
}
.result-list-order label {
  display: inline-block;
  width: var(--btn-width, auto);
  margin: 0;
  padding: var(--btn-padding, var(--btn-py, 0.25rem) var(--btn-px, 1rem));
  color: var(--btn-font-color, var(--color-btn));
  font-size: var(--btn-font-size, var(--link-font-size));
  font-family: var(--btn-font-family, var(--font-btn-family, var(--font-base-family)));
  line-height: var(--btn-line-height, var(--link-line-height, var(--form-element-ln)));
  font-style: var(--btn-font-style, normal);
  font-weight: var(--btn-font-weight, var(--link-font-weight, 400));
  text-decoration: var(--btn-text-decoration, none);
  text-transform: var(--link-text-transform, none);
  background-color: var(--btn-bg-color, var(--color-btn-bg));
  text-align: center;
  border: var(--btn-border, none);
  border-color: var(--btn-border-color, transparent);
  cursor: pointer;
}
.result-list-order label:hover {
  --btn-font-color: var(--btn-hover-font-color, var(--color-btn-hover));
  --btn-bg-color: var(--btn-hover-bg-color, var(--color-btn-hover-bg));
  --btn-border-color: var(--btn-hover-border-color);
}
.result-list-order input {
  width: 0;
  height: 0;
}
.result-list-order input[type="radio"] {
  opacity: 0;
}
.result-list-order input:not(:checked) + label {
  --btn-font-color: var(--color-link);
  --btn-bg-color: transparent;
}
.result-list-order input:not(:checked) + label:hover {
  --btn-font-color: var(--color-link-hover);
}
.result-list-order input:disabled + label {
  opacity: 0.25;
  pointer-events: none;
}
.result-list-certificated {
  width: 100%;
  margin: 0.5rem 0 0;
}
.result-list-certificated > span:first-child {
  display: block;
  float: left;
  width: 1.5rem;
  height: 1.5rem;
  margin-right: 0.5rem;
  background: url(/typo3conf/ext/rev/Resources/Public/Images/icon-bar-dark.svg) no-repeat scroll 100% 100% transparent;
  background-size: contain;
}
.result-list-certificated .form--info-icon {
  display: inline-block;
  vertical-align: baseline;
}
button.result-note {
  --note-color: var(--color-text);
  --note-arrow-color: var(--color-primary);
  --note-hover-color: var(--color-secondary);
  all: unset;
  display: flex;
  align-items: center;
  position: fixed;
  bottom: 0;
  left: 50%;
  padding: 0.5rem 1.5rem;
  transform: translateX(-50%);
  color: var(--note-color);
  background: var(--color-body);
  box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.25);
  cursor: pointer;
  z-index: 25;
}
button.result-note:hover,
button.result-note:focus {
  --note-color: var(--color-secondary);
  --note-arrow-color: var(--note-color);
}
button.result-note:before,
button.result-note:after {
  font-family: sans-serif;
  content: "\a0\1F807\a0";
  font-size: 1.125rem;
  color: var(--note-arrow-color);
}
button.result-note > span {
  display: inline-block;
  font-size: 1.125rem;
  white-space: nowrap;
}
.reha-columns {
  display: flex;
  gap: 0.5rem 1rem;
}
.reha-image {
  flex: 0 0 150px;
  margin-top: 0.25rem;
}
.reha-content {
  flex: 1;
}
.reha-features {
  display: flex;
  gap: 0.25rem;
  flex-wrap: wrap;
  margin-top: 1rem;
}
.reha-features:empty {
  display: none;
}
.reha-features span {
  display: block;
  background: var(--color-grey);
}
.reha-features img {
  width: 2rem;
  height: 2rem;
}
.reha-distance {
  margin-top: -1rem;
}
.box {
  --box-bg-image: none;
  position: relative;
  width: calc(var(--result-item-width) - (var(--result-gap) * (var(--result-items, 1) - 1)) / var(--result-items, 1));
  min-height: 15rem;
  padding: 1rem 1.5rem;
  hyphens: auto;
  background: var(--box-bg-image) no-repeat scroll calc(100% - 1rem) calc(100% + 2rem) var(--color-body);
  background-size: auto 15rem;
  box-shadow: 2px 2px 6px 0 rgba(0, 0, 0, 0.25);
  overflow: hidden;
}
.box.is--certificated {
  --box-bg-image: url(/typo3conf/ext/rev/Resources/Public/Images/icon-bar.svg);
}
.box--title {
  --font-h3: var(--font-size-large);
  --color-h3: var(--color-link);
  display: flex;
  align-items: baseline;
  gap: 0 0.5rem;
}
.box--title h3 {
  margin: 0;
}
.box--title h3 a {
  display: inline-block;
  position: relative;
  text-decoration: none;
}
.box--title h3 a::after {
  content: "";
  display: block;
  position: absolute;
  inset: auto 0 -0.5rem 0;
  border-bottom: 1px solid currentColor;
}
.box--title .notepad {
  flex: 0 0 1.5rem;
  margin: 0 -0.5rem 0 auto;
}
.box--description {
  margin-top: 1rem;
}
.rev-tstamp {
  display: inline-block;
  margin: 0 0 0.5em;
  font-size: var(--font-size-small);
  font-weight: 300;
}
.rev--details .columns {
  overflow: visible;
}
.rev--details .navigation--vertical {
  position: sticky;
  top: calc(var(--computed-header-height, 100px) + 1rem);
}
.rev--details :target {
  scroll-margin-top: calc(var(--computed-header-height, 100px) + 1.5rem);
}
.rev-print-link {
  margin-top: 1.5rem;
}
.columns-list {
  column-count: 3;
}
.columns-list > * {
  break-inside: avoid;
  page-break-inside: avoid;
}
.rev-gallery {
  margin: 0 0 1.5rem;
  background: var(--color-light);
  overflow: hidden;
}
.rev-gallery-wrap {
  position: relative;
  max-width: 960px;
  margin: 0 auto;
}
.rev-gallery-container {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
}
.rev-gallery-image {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.rev-gallery .slick-list,
.rev-gallery .slick-track,
.rev-gallery .slick-slide,
.rev-gallery .slick-slide > div,
.rev-gallery .slick-slide figure {
  height: 100%;
}
.rev-gallery figure {
  display: flex !important;
  justify-content: center;
}
.rev-gallery figure img {
  align-self: center;
  margin: auto;
}
.rev-gallery .slick-dots {
  display: flex;
  justify-content: center;
  padding: 0.5rem 0.25rem;
  bottom: 0;
  z-index: 1;
}
.rev-gallery .slick-dots:before {
  content: "";
  position: absolute;
  inset: 0 -100vw;
  background: rgb(from var(--color-black) r g b / 0.45);
  z-index: -1;
}
.rev-gallery .slick-dots li {
  width: auto;
  height: auto;
  margin: 0 0.25rem;
}
.rev-gallery .slick-dots li button {
  width: auto;
  height: 100%;
  padding: 0;
}
.rev-gallery .slick-dots li button:before {
  display: none;
}
.notepad {
  --color-link: var(--color-text);
  width: 1.5rem;
  height: 1.5rem;
}
.notepad a {
  display: block;
  width: 100%;
  height: 100%;
}
.notepad svg {
  all: unset;
  display: block;
  width: 100%;
  height: 100%;
}
.notepad path {
  fill: currentColor;
}
.rev--details .rev--header {
  position: relative;
  padding-right: 2rem;
  z-index: 0;
}
.rev--details .notepad {
  position: absolute;
  inset: 0 0 auto auto;
  z-index: 1;
}
.notepad--item {
  --font-h3: var(--font-size-large);
  --color-h3: var(--color-link);
  max-width: 48rem;
  margin: 0 0 1.5rem;
  padding: 1.5rem 1.5rem 0;
  background: var(--color-light);
}
.notepad--item h3 {
  margin: 0;
}
.notepad--item .grids {
  margin-top: 1.5rem;
}
.note--invalid-form {
  display: none;
}
.show--invalid:invalid .note--invalid-form {
  display: block;
}
.table--list {
  width: 100%;
  overflow-x: auto;
}
.table--list-facilities tr > *:nth-child(2) {
  min-width: 8rem;
}
.table--list-facilities tr > *:nth-child(3) {
  min-width: 20rem;
  width: 100%;
}
.table--list-facilities tr > *:nth-child(4) {
  min-width: 15rem;
}
tfoot a:before {
  content: "";
  display: block;
}
.col-actions {
  min-width: 6rem;
  max-width: 10rem;
}
.col-actions a {
  display: block;
  line-height: 1.2;
  white-space: nowrap;
}
.col-actions a + a {
  margin-top: 0.5rem;
}
.col-actions .is--btn {
  padding: 0.25rem 0.5rem;
}
.col-actions .btn-group {
  margin: 0.25rem 0;
}
.col-actions .btn-group + .btn-group {
  margin-top: 1rem;
}
.col-title {
  min-width: 16rem;
  max-width: 45%;
  width: 100%;
}
@keyframes progress {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(67%);
  }
}
progress {
  --progress-color: #79a548;
  appearance: none;
  width: 100%;
  height: 1.2rem;
  color: var(--progress-color);
  border: none;
}
progress[value]::-webkit-progress-bar {
  background: var(--color-light);
  box-shadow: inset 0 0 1px 1px rgba(0, 0, 0, 0.1);
}
progress[value]::-moz-progress-bar {
  background: var(--progress-color);
}
progress[value]::-webkit-progress-value {
  background: var(--progress-color);
}
progress:not([value]) {
  position: relative;
  overflow: hidden;
  z-index: 0;
}
progress:not([value])::-moz-progress-bar {
  opacity: 0;
}
progress:not([value]):before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--color-light);
  box-shadow: inset 0 0 1px 1px rgba(0, 0, 0, 0.1);
  z-index: 1;
}
progress:not([value]):after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(to right, var(--progress-color) 0%, var(--progress-color) 33%, transparent 33%, transparent 100%);
  z-index: 2;
  animation: progress 1s linear infinite alternate;
}
@media (max-width: 1366px) {
  .indications .columns {
    display: block;
  }
  .indications .column--1 {
    display: none;
  }
  .indications .column--3 {
    width: 100%;
  }
  .frame-type-rev_indications {
    overflow-X: scroll;
  }
  .frame-type-rev_indications table {
    word-wrap: break-word;
    hyphens: auto;
  }
  .form--field-geo {
    flex-wrap: wrap;
  }
  .form--field-geo .select2 {
    width: auto !important;
    flex: 1 1 100%;
  }
  .form--field-geo .or {
    margin-left: 0;
  }
  .reha-columns {
    flex-direction: column;
  }
  .reha-image,
  .reha-content {
    flex: auto;
  }
}
@media (max-width: 1024px) {
  :root {
    --font-size-large: 1.2rem;
  }
  .columns-list {
    column-count: 2;
  }
  .grid--4 {
    --grid-span: 6;
  }
}
@media (max-width: 768px) {
  #mainnav {
    display: block;
  }
  #mainnav li:not(.mainnav-login,.mainnav-notepad) {
    display: none;
  }
  #mainnav li:last-child {
    margin-right: 1em;
  }
  .grid-map {
    overflow: hidden;
    max-height: 36rem;
    grid-column: 1 / -1;
    grid-row: 2 / 4;
  }
  .grid-search-simple {
    grid-column: 1 / -1;
    grid-row: 1;
  }
  .grid-search-results {
    grid-column: 1 / -1;
    grid-row: 4;
  }
  .grid-search-results > h2 {
    margin-top: var(--headline-mt);
  }
  .result-list {
    --result-item-width: 50%;
    --result-items: 2;
  }
  .box {
    padding: 1rem;
  }
  .feedback--link {
    bottom: 0;
    transform: rotate(270deg) translateX(100%);
  }
}
@media (max-width: 576px) {
  :root {
    --font-base-size: 14px;
    --font-h1: 2rem;
    --font-h2: 1.5rem;
  }
  .map-container {
    position: static;
  }
  .result-list {
    --result-item-width: 100%;
    --result-items: 1;
  }
  .result-list-count {
    margin: 0 0 1rem;
  }
  .has--results > .result-list-control {
    display: block;
  }
  .rev-gallery .slick-dots {
    position: relative;
    margin: 0 -0.25rem;
    padding: 0.5rem 0;
    width: calc(100% + 0.5rem);
  }
  .rev-gallery .slick-dots::before {
    background: var(--color-white);
  }
  .rev--details .columns-list {
    column-count: 1;
  }
  .grid {
    display: block;
    overflow: hidden;
  }
  .rev--search .grid {
    display: grid;
  }
  .mainnav-login .login--trigger span,
  .mainnav-login .login--register {
    display: none;
  }
  .navigation--breadcrumbs > span {
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }
  .navigation--breadcrumbs > span:not(caption) {
    position: absolute !important;
  }
  .navigation--breadcrumbs > span * {
    overflow: hidden !important;
  }
}
@media print {
  :root {
    --font-base-size: 8pt;
    --font-size-small: 8pt;
  }
  body {
    font-size: 8pt;
    margin: 0;
    padding: 0;
  }
  #head {
    position: relative;
    box-shadow: none;
  }
  .navigation--breadcrumbs,
  #foot,
  .head--mobile,
  #mainnav,
  .pswp,
  .modal,
  .column--1,
  .rev-print-link,
  .notepad,
  .grid-search-simple.accordion,
  .grid-map {
    display: none !important;
  }
  .columns,
  .accordion--body,
  .rev--search .grid {
    display: block !important;
  }
  .accordion {
    box-shadow: none !important;
    border: 1pt solid #ccc;
  }
  .viewport {
    max-width: none !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  #main {
    padding: 0;
  }
  .notepad--item {
    max-width: 100% !important;
  }
  .column--3 {
    width: 100%;
    padding: 0;
  }
  .result-list .box {
    width: calc((100% - 2 * 1.5em) / 2) !important;
    box-shadow: none !important;
    border: 1pt solid #ccc;
  }
}
