:root {
  --logo-width: 227px;
  --logo-height: 40px;
}
@media (min-width: 768px) {
  :root {
    --logo-width: 284px;
    --logo-height: 50px;
  }
}
@media (min-width: 1366px) {
  :root {
    --logo-width: 341px;
    --logo-height: 60px;
  }
}
: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;
}
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;
  display: var(--btn-display, inline-block);
  text-transform: var(--btn-text-transform, var(--link-text-transform, none));
}
: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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
h1,
.h1 {
  margin-top: 0;
}
:where(h1, .h1) + :where(h2, .h2) {
  --headline-mt: 0;
}
:where(h2, .h2) + :where(h3, .h3) {
  --headline-mt: 0;
}
:where(h3, .h3) + :where(h4, .h4) {
  --headline-mt: 0;
}
:where(h4, .h4) + :where(h5, .h5) {
  --headline-mt: 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 {
  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);
}
.form-element {
  display: flex;
  flex-direction: column;
  margin: 0 0 var(--text-space-medium);
}
.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 {
  max-width: 100%;
  width: 100%;
}
.form--field.w-auto select,
.form--field select.w-auto {
  width: 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;
    --container-padding: 0;
  }
  .form--container .form--container {
    --container-columns: 2;
    --container-padding: 0.75rem;
    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);
}
.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;
  }
}
:root {
  --color-primary: #0094d6;
  --color-secondary: #33a7dd;
  --lila: #8F93C8;
  --blue: #0094d6;
  --yellow: #E8B605;
  --yellow-light: #efc534;
  --green: #A3C219;
  --green-light: #b7cf3a;
  --red: #c60050;
  --red-light: #d13373;
  --hover-color: var(--color-secondary);
  --link-color: #0091d5;
  --active-color: var(--color-primary);
  --navigation-font-weight: 400;
  --navigation-link-color: #4d585d;
  --navigation-link-hover-color: var(--color-primary);
  --viewport: min(90vw, 1690px);
  --temp: calc((100vw - var(--viewport)) / 2);
  --pl: max(var(--temp), 1rem);
  --nav-padding: var(--computed-header-height, calc(var(--logo-height) + var(--header-padding-bottom) + var(--header-padding-top)));
  --logo-height: 3.933333rem;
  --header-padding-bottom: 1rem;
  --header-padding-top: 1rem;
  --width-col1: 25%;
  --padding: 4.5rem;
  --border-width: 2px;
  --viewport-gutter-x: 0px;
  --font-base-family: "Barlow", sans-serif;
  --font-hx-family: "Barlow", sans-serif;
  --color-text: #3d3d3d;
  --font-base-size: 15px;
  --font-size: 1em;
  --link-font-size: 1em;
  --icon-width: 3rem;
  --viewport-gutter-y: 6rem;
  --font-h1: 2.333em;
  --font-h2: 2.333em;
  --font-h3: 1.75em;
  --font-hx-wgt: 500;
  --font-h4-wgt: 500;
  --color-h1: var(--color-text);
  --color-h2: var(--color-text);
  --text-space: 1em;
  --headline-mb: 1em;
}
:root,
.yellow,
.red,
.green {
  --btn-bg-color: var(--color-primary);
  --btn-padding: 1rem;
  --btn-text-transform: uppercase;
  --btn-width: auto;
  --btn-font-color: var(--color-text);
  --btn-font-weight: 500;
  --btn-font-size: 1.467rem;
  --btn-hover-font-color: var(--color-text);
  --btn-hover-bg-color: #fff;
  --btn-border: var(--border-width) solid var(--btn-bg-color);
  --btn-hover-border-color: var(--color-primary);
}
body,
html {
  color: var(--color-text);
  scroll-behavior: smooth;
}
ul {
  padding-left: 1em;
  margin: 0 0 1.5em 0;
}
#nav-padding {
  height: var(--nav-padding);
}
.yellow {
  --color-primary: var(--yellow);
  --color-secondary: var(--yellow-light);
}
.green {
  --color-primary: var(--green);
  --color-secondary: var(--green-light);
}
.red {
  --color-primary: var(--red);
  --color-secondary: var(--red-light);
}
.viewport {
  overflow: visible;
}
.viewport:after {
  content: "";
  display: table;
  clear: both;
}
.frame-type-textpic .ce-left.ce-below .ce-bodytext + .ce-gallery {
  margin-top: 0;
}
.frame-type-textpic .ce-left.ce-below .ce-bodytext + .ce-gallery .ce-column:last-child {
  margin-bottom: 1em;
}
#map {
  z-index: 0;
}
.yasig-image img {
  max-width: 100%;
  height: auto;
}
.tx-powermail {
  max-width: var(--viewport);
}
.tx-powermail .powermail_fieldwrap {
  clear: both;
  margin-bottom: 0.5em;
  overflow: hidden;
}
.tx-powermail label,
.tx-powermail input[type='text'],
.tx-powermail input[type='textarea'] {
  float: left;
}
.tx-powermail label {
  width: 11em;
}
.tx-powermail textarea,
.tx-powermail input[type='text'],
.tx-powermail input[type="email"],
.tx-powermail input[type='textarea'] {
  width: min(var(--viewport), 25em);
}
.tx-powermail .powermail-errors-list {
  list-style-type: none;
  margin: 0;
  color: red;
  font-size: 0.8em;
  clear: both;
  margin-left: 13em;
}
.tx-powermail .powermail_fieldwrap_type_check,
.tx-powermail .powermail_fieldwrap_type_html {
  font-size: 0.9em;
}
.tx-powermail .powermail_fieldwrap_type_check label {
  float: none;
  font-weight: 400;
}
.tx-powermail label,
.tx-powermail .powermail_fieldwrap_type_text {
  font-weight: 600;
}
.subpage:has(iframe) main .viewport {
  background: none;
}
.orange {
  --color: var(--yellow);
  color: var(--color);
}
.lila {
  --color: var(--lila);
  color: var(--lila);
}
.green {
  --color: var(--green);
  color: var(--green);
}
a.green:hover,
a.green:focus,
a.lila:hover,
a.lila:focus,
a.orange:hover,
a.orange:focus,
a.orange,
a.lila,
a.green {
  --link-hover-text-decoration: none;
  text-decoration: none;
  color: var(--color-text);
  text-underline-offset: 4px;
  text-decoration-line: underline;
  text-decoration-thickness: 2px;
  text-decoration-color: var(--color);
}
iframe .ce-frame {
  padding: 1rem;
}
.layout-101,
.c1 {
  --color-primary: var(--yellow);
  --btn-bg-color: var(--color-primary);
  --btn-hover-bg-color: #fff;
  --btn-hover-border-color: var(--color-primary);
}
.layout-102,
.c2 {
  --color-primary: var(--lila);
  --btn-bg-color: var(--color-primary);
  --btn-hover-bg-color: #fff;
  --btn-hover-border-color: var(--color-primary);
}
.layout-103,
.c3 {
  --color-primary: var(--green);
  --btn-bg-color: var(--color-primary);
  --btn-hover-bg-color: #fff;
  --btn-hover-border-color: var(--color-primary);
}
.columns {
  --column-gap: var(--columns-gap, 4.5rem);
  flex-wrap: wrap;
}
.column--1 {
  --column-width: var(--column--1-width, 25%);
}
.column--2 {
  --column-width: calc(100% - var(--column--1-width, 25%) - var(--column--3-width, 0px));
}
.column--3 {
  --column-width: var(--column--3-width, 25%);
}
.subpage main {
  --viewport: min(90vw, 73rem);
  --viewport-gutter-x: 3rem;
  --viewport-gutter-y: 2rem;
  margin-bottom: var(--padding);
}
.subpage main .viewport {
  background-color: color-mix(in srgb, var(--blue) 10%, transparent);
}
.subpage main > .viewport {
  margin-top: var(--padding);
}
.layout-103 .start,
.layout-102 .start,
.layout-101 .start {
  --viewport-gutter-t: 0px;
}
.layout-103 .start h1,
.layout-102 .start h1,
.layout-101 .start h1 {
  font-size: var(--location-title-font-size, 12vw);
  color: color-mix(in srgb, var(--color-primary) 30%, transparent);
  margin-top: 0rem;
  margin-bottom: 2rem;
}
.layout-103 #contact .frame-type-menu_pages li,
.layout-102 #contact .frame-type-menu_pages li,
.layout-101 #contact .frame-type-menu_pages li {
  width: 20rem;
  max-width: 100%;
}
.frame-type-slickslider {
  --arrows-padding: -1rem;
  padding-bottom: 5rem;
}
.frame-type-slickslider .slick-slider {
  padding: 0 3rem 0 3rem;
}
.frame-type-slickslider .slick-track {
  display: flex;
  align-items: stretch;
}
.frame-type-slickslider .slick-slide {
  height: auto;
  display: flex;
  align-content: center;
  align-items: center;
  text-align: center;
  justify-content: center;
}
.frame-type-slickslider img {
  display: inline-block;
}
#head {
  --viewport-gutter-y: 2rem;
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  background-color: #fff;
  box-shadow: 2px 2px 7px 0px rgba(0, 0, 0, 0.3);
  z-index: 11;
}
#head #logo {
  float: left;
  margin: 0;
  margin-right: auto;
}
#head #logo img {
  height: var(--logo-height);
  width: auto;
}
#head #logo a {
  display: block;
}
#head #mainnav {
  float: right;
}
#head .head--container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--gap, 2rem);
}
footer {
  text-align: center;
  background-color: #fff;
  border-top: 2rem solid var(--color-primary);
}
footer p {
  text-align: left;
}
footer .columns {
  justify-content: center;
}
footer .columns > [class*="column--"] {
  flex: 0 0 auto;
  width: auto;
}
#contact {
  --btn-width: 100%;
  --font-size: 1.2em;
  max-width: 73rem;
  margin: 0 auto;
}
#contact h2 {
  font-style: italic;
  margin-top: 0;
}
#contact .frame-type-menu_pages li {
  width: var(--li-width, calc((100% - var(--text-space) * 2) / 3));
}
.section--metanav {
  background-color: var(--blue);
}
.section {
  border-bottom: 2rem solid var(--color-primary);
}
.section:last-child {
  border-bottom: none;
}
.section--news {
  text-align: center;
  background-image: url('/fileadmin/gfx/background.png');
  background-repeat: repeat;
  background-color: color-mix(in srgb, var(--color-primary) 10%, transparent);
}
.section--news .news-list-view {
  padding: 0 var(--padding);
}
.section--about {
  --column--1-width: 50%;
  --columns-gap: 0px;
  --viewport-gutter-x: 5rem;
}
.section--about .columns {
  align-items: stretch;
}
.section--about .column--1 :first-child {
  width: 100%;
  height: 100%;
}
.section--about .column--1 img {
  object-fit: cover;
}
.section--about .column--2 {
  background-color: color-mix(in srgb, var(--color-primary) 10%, transparent);
  padding: var(--padding);
}
.section--sponsors {
  text-align: center;
}
.section--sponsors .frame-type-textpic {
  display: inline-block;
}
.head--mobile {
  display: none;
}
.mobile-menu {
  --size: 2.5rem;
  text-transform: uppercase;
}
.menu-symbol {
  margin-top: 0.5rem;
}
#mobilenav {
  --navigation-color: var(--color-text);
  --navigation-color-hover: var(--color-text);
  --navigation-space-t: 1rem;
  top: var(--nav-padding);
  background-color: var(--color-primary);
  font-size: 1.2em;
  /* wenn der Text vergrößert werden soll
	li{
		display: block;
		a{
			display: inline;
		}
		button{
			display: inline-block;
		}
	}*/
}
#mobilenav > ul {
  padding-left: 1em;
}
#mobilenav li.is--active > a {
  font-style: italic;
  text-decoration: underline;
}
#mobilenav li li a {
  text-transform: none;
}
body.layout-0 #mobilenav {
  --navigation-color: #fff;
  --navigation-color-hover: #fff;
}
.navigation {
  --navigation-font-size: 1.3em;
}
#mainnav {
  --navigation-color: var(--color-text);
  --navigation-color-hover: var(--blue);
  --link-font-weight: 500;
  --navigation-color-active: var(--color-text);
  --link-hover-text-decoration: none;
}
#mainnav > ul:first-child > .is--active > a {
  font-weight: bold;
}
#mainnav > ul:first-child > li > a:after {
  content: none;
}
#metanav {
  --navigation-color: #fff;
  --navigation-color-hover: #fff;
  --link-font-weight: bold;
  display: inline-block;
}
#metanav ul {
  flex-direction: row;
}
#langnav {
  --icon-height: 3rem;
  --link-text-transform: uppercase;
  --navigation-font-size: 0;
  color: transparent;
}
#langnav a {
  width: var(--icon-width);
  height: var(--icon-height);
  display: inline-block;
  vertical-align: middle;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  overflow: hidden;
}
#langnav .de a {
  background-image: url('/fileadmin/gfx/Flaggen/deutsch_flagge.png');
}
#langnav .en a {
  background-image: url('/fileadmin/gfx/Flaggen/englisch_flagge.png');
}
#langnav .easy-language a {
  background-image: url('/fileadmin/gfx/Flaggen/leichte-sprache.svg');
}
#langnav li + li {
  margin-left: var(--gap, 1rem);
}
#mainnav ul {
  justify-content: center;
}
#mainnav ul > li {
  position: relative;
}
#mainnav ul > li a {
  display: inline-block;
  line-height: 1;
  padding-bottom: 0.5em;
}
#mainnav ul > li.is--active {
  --navigation-font-weight: 600:;
}
#mainnav ul > li:focus-within > a,
#mainnav ul > li:hover > a,
#mainnav ul > li:focus > a {
  position: relative;
}
#mainnav ul > li:focus-within > a:before,
#mainnav ul > li:hover > a:before,
#mainnav ul > li:focus > a:before {
  content: "";
  display: block;
  height: 4px;
  width: 100%;
  position: absolute;
  bottom: -4px;
  background-color: var(--color-primary);
  z-index: 2;
}
#mainnav ul > li:focus-within > .dropdown-menu,
#mainnav ul > li:hover > .dropdown-menu,
#mainnav ul > li:focus > .dropdown-menu {
  display: inline-block;
  position: absolute;
}
#mainnav ul .is--parent > a:after {
  content: ">";
  display: inline-block;
  vertical-align: top;
  line-height: 1;
}
#mainnav .dropdown-menu {
  --link-text-transform: uppercase;
  --link-hover-text-decoration: underline;
  display: none;
  position: relative;
  top: 100%;
  left: 0;
  z-index: 1;
  min-width: 25em;
  padding: 5px 2em;
  margin: 2px 0 0;
  margin-top: -1px;
  font-size: 0.9em;
  text-align: left;
  background-color: #fff;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 4px;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
}
#mainnav .dropdown-menu .dropdown-menu {
  top: 0;
  left: 50%;
}
#mainnav .dropdown-menu li {
  float: none;
}
#mainnav .dropdown-menu li a {
  line-height: 1.2;
  padding: 0.25em 0;
  margin-left: 0;
}
#mainnav .dropdown-menu:hover li,
#mainnav .dropdown-menu:focus li {
  background-color: #f1f1f1;
  background: none;
}
#mainnav .dropdown-menu a:before {
  content: none !important;
}
#mainnav li:nth-last-child(2) > .dropdown-menu,
#mainnav li:last-child > .dropdown-menu {
  left: auto;
  right: 0;
}
.layout-101 #mainnav .dropdown-menu,
.layout-102 #mainnav .dropdown-menu,
.layout-103 #mainnav .dropdown-menu {
  --navigation-color-hover: var(--color-text);
  --navigation-color: var(--color-text);
}
.location-title {
  text-align: center;
  font-size: 12vw;
  color: color-mix(in srgb, var(--color-primary) 30%, transparent);
  margin-top: 0rem;
  margin-bottom: 2rem;
  text-transform: uppercase;
}
.start-nav {
  --column-count: 3;
  --column--1-width: 33%;
  --column--3-width: 33%;
  --list-li-display: block;
  max-width: 83rem;
  margin: 0 auto;
}
.start-nav .column--2 {
  flex-grow: 1;
}
.start {
  --btn-display: block;
  --btn-padding: 1.5rem;
  --link-color: var(--color-text);
  --link-text-decoration: none;
  --text-space: 2rem;
  text-align: center;
  border-bottom: 2rem solid var(--color-primary);
}
.start img {
  display: block;
  height: auto;
  margin: 0 auto;
}
.start .frame-seiten_wie_links a {
  --link-font-size: 1.3em;
  --link-hover-text-decoration: none;
  display: block;
  margin-top: 1.75rem;
  position: relative;
}
.start .frame-seiten_wie_links a:after {
  content: "";
  display: block;
  width: 6rem;
  height: 2px;
  margin: 0 auto;
  background-color: var(--color-primary);
}
.notice {
  position: absolute;
  top: calc(var(--nav-padding) + 2rem);
  left: 0;
  padding: 1rem;
  max-width: 30rem;
  color: #fff;
  background: var(--color-primary);
  z-index: 1;
}
.notice * {
  color: #fff;
}
.notice .h3 {
  margin-top: 0;
}
.frame-type-news_newsliststicky h1 {
  text-align: center;
}
.news--date {
  display: block;
  color: #666;
  margin: 2em 0 1em;
}
.template-layout-20 .category {
  display: block;
  background-color: var(--color-primary);
  text-align: center;
  text-transform: uppercase;
  line-height: 2;
  font-weight: 700;
  font-size: 1.3em;
}
/* ---------------- list view not slickslider ---------------------- */
.news-list-view:not(.slick-slider),
.news-list-view .slick-track {
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 1rem var(--news-gap, 3rem);
  min-width: 100%;
}
.news-list-view:not(.slick-slider) {
  flex-wrap: wrap;
}
.slick-slider .article {
  height: auto;
}
.article {
  position: relative;
}
.news--title {
  margin-top: 0;
  margin-bottom: 1em;
  font-size: var(--news-title-font-size);
  color: var(--news-title-color);
}
/*--------- general list view -----------------*/
.news-list-view {
  --news-image-margin: 1rem;
  --news-image-width: 12rem;
  --news-image-height: auto;
  --link-font-weight: 400;
  --num-items: 3;
  --news-gap: 4rem;
  --news-body-pl: 2rem;
  --link-font-weight: 700;
  --link-hover-text-decoration: none;
  --hover-color: var(--color-secondary);
  --news-title-color: var(--color-text);
  --news-title-font-size: 1.5em;
}
.news-list-view .blog--header {
  flex-basis: 100%;
}
.news-list-view .article .news-img-wrap {
  float: left;
}
.news-list-view .article .news-img-wrap .no-media-element,
.news-list-view .article .news-img-wrap img {
  display: inline-block;
  width: var(--news-image-width);
  height: var(--news-image-height);
}
.news-list-view .article .news-img-wrap a {
  display: block;
  width: 100%;
  height: 100%;
}
.news-list-view .article .news-img-wrap img {
  object-fit: contain;
}
.news-list-view .article .no-media-element {
  --news-image-height: 17rem;
  display: block;
  background-color: var(--mainColor);
  text-align: center;
}
.news-list-view .article .no-media-element img {
  position: relative;
  top: 50%;
  transform: translateY(-50%);
  width: var(--icon-width, 60%);
  height: auto;
  max-height: 80%;
}
.news-list-view .article .news--body {
  float: left;
  max-width: calc(100% - var(--news-image-width) - var(--news-image-margin, 1rem));
  padding-left: var(--news-image-margin);
}
.news-list-view.template-layout-20 .article {
  flex-basis: calc(100% / var(--num-items, 3) - var(--news-gap) * (var(--num-items, 3) - 1) / var(--num-items, 3));
  display: flex;
  flex-direction: column;
  text-align: left;
  background-color: #fff;
  border: var(--border-width, 2px) solid var(--color-primary);
  box-shadow: var(--box-shadow);
}
.news-list-view.template-layout-20 .article.c4 {
  --color-primary: var(--blue);
}
.news-list-view.template-layout-20 .article.c4 .category {
  color: #fff;
}
.news-list-view.template-layout-20 .article .news-img-wrap {
  overflow: hidden;
  float: none;
}
.news-list-view.template-layout-20 .article .news-img-wrap * {
  width: 100%;
  height: 100%;
  display: block;
}
.news-list-view.template-layout-20 .article .news-img-wrap img {
  object-fit: cover;
}
.news-list-view.template-layout-20 .article .news--date,
.news-list-view.template-layout-20 .article .news--title {
  margin-left: var(--news-body-pl);
  margin-right: var(--news-body-pl);
}
.news-list-view.template-layout-20 .article .news--teaser,
.news-list-view.template-layout-20 .article .news--body {
  max-width: none;
  padding: 0em var(--news-body-pl) 1em;
}
/*--------------- subpage view --------------------------------*/
.subpage .news-list-view.template-layout-20 {
  --num-items: 2;
}
.subpage .news-list-view.template-layout-20 .frame-type-yasig {
  margin-bottom: 1.5rem;
}
.news-single .category {
  display: none;
}
.news-single h1 {
  text-transform: none;
}
.news-single .news-img-wrap {
  margin-bottom: 1.5rem;
}
.f3-widget-paginator {
  flex-basis: 100%;
  clear: both;
  width: 100%;
}
.f3-widget-paginator li {
  display: inline-block;
}
.slick-prev,
.slick-next {
  width: auto;
  height: auto;
}
.slick-prev:before,
.slick-next:before {
  font-size: 3rem;
  color: #4d4d4d;
}
.slick-prev {
  left: var(--arrows-padding, 0.5rem);
  z-index: 1;
}
.slick-next {
  right: var(--arrows-padding, 0.5rem);
}
.onepage {
  --font-h1: 3.25em;
  --font-h2: 2.5em;
  --font-h3: 2em;
}
h1 {
  text-transform: uppercase;
  margin-top: 0;
}
h2 {
  text-transform: uppercase;
}
figure img {
  width: auto;
  max-width: 100%;
  object-fit: contain;
  line-height: 1;
}
ul li::marker {
  color: var(--color-primary);
}
.ce-gallery figcaption {
  caption-side: bottom;
}
.big {
  font-size: 1.4em;
}
.hgroup > :first-child {
  margin-bottom: 0.5rem;
}
.hgroup > :first-child:last-child,
.hgroup > :first-child + * {
  margin-bottom: 1.5em;
  color: var(--color-primary);
  font-size: 1.5em;
  text-transform: none;
}
.frame-header_zwei_zeilig .ce-header {
  font-size: var(--hx-two-lines, 1.5em);
}
.frame-header_zwei_zeilig .ce-header :nth-child(2) {
  text-transform: uppercase;
  color: var(--color-text);
  font-size: var(--font-h2);
  margin-bottom: 2rem;
  margin-top: -0.5rem;
}
a:hover,
a:focus {
  text-decoration: var(--link-hover-text-decoration, underline);
}
.frame-type-menu_pages {
  --text-space: var(--list-ml, var(--padding));
}
.frame-type-menu_pages ul {
  list-style-type: none;
  padding-left: 0;
}
.frame-type-menu_pages li {
  display: var(--list-li-display, inline-block);
  margin-top: 1rem;
}
.frame-type-menu_pages li:first-child {
  margin-left: 0;
}
.frame-type-menu_pages:not(.frame-seiten_wie_links) li a {
  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;
  display: var(--btn-display, inline-block);
  text-transform: var(--btn-text-transform, var(--link-text-transform, none));
}
.frame-type-menu_pages:not(.frame-seiten_wie_links) li a:hover,
.frame-type-menu_pages:not(.frame-seiten_wie_links) li a: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);
}
.start,
#contact {
  --btn-font-size: 2.5rem;
}
/**
 * "Yet Another Multicolumn Layout" - YAML CSS Framework
 *
 * default print stylesheet
 *
 * @copyright       © 2005-2013, Dirk Jesse
 * @license         CC-BY 2.0 (http://creativecommons.org/licenses/by/2.0/),
 *                  YAML-CDL (http://www.yaml.de/license.html)
 * @link            http://www.yaml.de
 * @package         yaml
 * @version         4.1.2
 */
@media print {
  /**
  * @section basic layout preparation
  */
  /* (en) change font size unit to [pt] - avoids problems with [px] in Gecko based browsers */
  /* (de) Wechsel der der Schriftgrößen-Maßheinheit zu [pt] - Probleme mit [px] in Gecko-Browsern vermeiden */
  body {
    font-size: 10pt;
    padding: 0 5px;
  }
  /* (en) Hide unneeded container of the screenlayout in print layout */
  /* (de) Für den Druck nicht benötigte Container des Layouts abschalten */
  #sitemap,
  .no-print,
  nav,
  .ym-searchform {
    display: none !important;
  }
  /*------------------------------------------------------------------------------------------------------*/
  /* (en) Avoid page breaks right after headings */
  /* (de) Vermeidung von Seitenumbrüchen direkt nach einer Überschrift */
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    page-break-after: avoid;
  }
}
@media (max-width: 1590px) {
  :root {
    --columns-gap: 2rem;
    --list-ml: 2rem;
    --viewport-gutter-y: 4rem;
  }
  #head {
    --viewport-gutter-y: 1rem;
  }
  .section--news {
    --viewport-gutter-b: 6rem;
  }
  .news-list-view {
    --news-gap: 2rem;
  }
}
@media (max-width: 1324px) {
  .section--news {
    --viewport: 100%;
  }
  .head--mobile {
    display: block;
    margin-top: -0.5rem;
  }
  #mainnav {
    display: none;
  }
  .section--about {
    --viewport-gutter-x: 0rem;
  }
  .section--about [class*="column--"] {
    width: 100%;
  }
}
@media (max-width: 960px) {
  :root {
    --padding: 2rem;
    --font-h1: 1.733em;
    --font-h2: 1.733em;
  }
  #contact,
  .start {
    --btn-font-size: 1.5rem;
  }
  .column--2,
  .column--1,
  .column--3 {
    width: 100% !important;
  }
  .start,
  #contact {
    --btn-width: min(100%, 20rem) !important;
    --btn-display: inline-block;
  }
  .section--about {
    --viewport: 100%;
    --viewport-gutter-y: 0px;
  }
  .layout-101 {
    --location-title-font-size: 18vw;
  }
  .layout-102 {
    --location-title-font-size: 17vw;
  }
  .start h1,
  .location-title {
    margin-top: 2rem !important;
  }
  .news-list-view {
    --num-items: 2;
  }
  .section--news .news-list-view {
    padding: 0 3rem;
  }
}
@media (max-width: 620px) {
  :root {
    --viewport-gutter-y: 4rem;
    --list-li-display: block;
    --list-ml: 0px;
    --location-title-font-size: 13vw;
    --icon-width: 2rem;
    --gap: 1rem;
    --hx-two-lines: 1em;
    --li-width: ^100%;
  }
  #head {
    --viewport-gutter-y: 0.5rem;
  }
  .navigation--horizontal {
    --navigation-gutter-x: 0.5rem;
  }
  .ce-textpic .ce-gallery {
    width: 100%;
  }
  .news-list-view {
    --num-items: 1 !important;
    --news-gap: 0px;
  }
  .frame-type-slickslider .slick-slider {
    padding: 0;
  }
  .slick-prev,
  .slick-next {
    top: auto;
    bottom: -4.5rem;
  }
  .slick-prev {
    left: 50%;
    transform: translateX(calc(-50% - 5rem));
  }
  .slick-next {
    right: 50%;
    transform: translateX(calc(-50% + 8rem));
  }
}
@media (max-width: 480px) {
  :root {
    --viewport-gutter-y: 2rem;
  }
  .onepage {
    --font-h1: 2.5em;
    --font-h2: 2em;
    --font-h3: 1.75em;
  }
  .hgroup {
    font-size: 0.9em;
  }
  .ce-gallery,
  .ce-gallery .ce-inner {
    --gallery-columns: 1 !important;
  }
  .section--sponsors .ce-gallery {
    --gallery-columns: 2 !important;
  }
  #contact .frame-type-menu_pages li {
    width: 100%;
  }
  .subpage .news-list-view.template-layout-20 {
    --num-items: 1;
  }
  .subpage main {
    --viewport: 96vw;
    --viewport-gutter-x: 1rem;
  }
}
