@charset "UTF-8";
a,
abbr,
acronym,
address,
applet,
article,
aside,
audio,
b,
big,
blockquote,
body,
canvas,
caption,
center,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
embed,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
output,
p,
pre,
q,
ruby,
s,
samp,
section,
small,
span,
strike,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
tt,
u,
ul,
var,
video {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
}

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

body {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:after,
blockquote:before,
q:after,
q:before {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

:root {
  --ajs-orange: #FF7600;
  --ajs-blau: #3C689E;
  --ajs-gruen: #9ACD32;
  --std-schwarz: black;
  --std-weiss: white;
  --std-hellstgrau: rgb(243, 243, 246);
  --std-hellgrau: rgb(234, 234, 234);
  --std-mittelgrau: rgb(195, 195, 195);
  --std-dunkelgrau: rgb(46, 46, 46);
}

@font-face {
  font-family: "Cambay";
  /* IE9 Compat Modes */
  src: url("../fonts/Cambay-Regular.eot");
  /* IE6-IE8 # Modern Browsers # Safari, Android, iOS # Legacy iOS */
  src: url("../fonts/Cambay-Regular.eot?#iefix") format("embedded-opentype"), url("../fonts/Cambay-Regular.woff2") format("woff2"), url("../fonts/Cambay-Regular.woff") format("woff"), url("../fonts/Cambay-Regular.ttf") format("truetype"), url("../fonts/Cambay-Regular.svg#svgFontName") format("svg");
  /* Legacy iOS */
}
@font-face {
  font-family: "Cambay-Italic";
  /* IE9 Compat Modes */
  src: url("../fonts/Cambay-Italic.eot");
  /* IE6-IE8 # Modern Browsers # Safari, Android, iOS # Legacy iOS */
  src: url("../fonts/Cambay-Italic.eot?#iefix") format("embedded-opentype"), url("../fonts/Cambay-Italic.woff2") format("woff2"), url("../fonts/Cambay-Italic.woff") format("woff"), url("../fonts/Cambay-Italic.ttf") format("truetype"), url("../fonts/Cambay-Italic.svg#svgFontName") format("svg");
  /* Legacy iOS */
}
@font-face {
  font-family: "Cambay-Bold";
  /* IE9 Compat Modes */
  src: url("../fonts/Cambay-Bold.eot");
  /* IE6-IE8 # Modern Browsers # Safari, Android, iOS # Legacy iOS */
  src: url("../fonts/Cambay-Bold.eot?#iefix") format("embedded-opentype"), url("../fonts/Cambay-Bold.woff2") format("woff2"), url("../fonts/Cambay-Bold.woff") format("woff"), url("../fonts/Cambay-Bold.ttf") format("truetype"), url("../fonts/Cambay-Bold.svg#svgFontName") format("svg");
  /* Legacy iOS */
}
@font-face {
  font-family: "Cambay-BoldItalic";
  /* IE9 Compat Modes */
  src: url("../fonts/Cambay-BoldItalic.eot");
  /* IE6-IE8 # Modern Browsers # Safari, Android, iOS # Legacy iOS */
  src: url("../fonts/Cambay-BoldItalic.eot?#iefix") format("embedded-opentype"), url("../fonts/Cambay-BoldItalic.woff2") format("woff2"), url("../fonts/Cambay-BoldItalic.woff") format("woff"), url("../fonts/Cambay-BoldItalic.ttf") format("truetype"), url("../fonts/Cambay-BoldItalic.svg#svgFontName") format("svg");
  /* Legacy iOS */
}
html {
  -webkit-font-smoothing: antialiased;
}

body {
  font-family: "Cambay", sans-serif;
}
body p {
  line-height: 1.5em;
  -webkit-hyphens: auto;
      -ms-hyphens: auto;
          hyphens: auto;
  margin-bottom: 0.6em;
}
@media only screen and (orientation: landscape) {
  body {
    font-size: 1.3vw;
  }
}
@media only screen and (orientation: portrait) {
  body {
    font-size: 3.3vw;
  }
}
@media only screen and (orientation: portrait) and (max-device-width: 35em) {
  body {
    font-size: 5vw;
  }
}
@media only screen and (orientation: landscape) {
  body > div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    height: 96vh;
  }
}
@media only screen and (orientation: portrait) {
  body > div {
    height: 95.25vh;
  }
}
@media only screen and (orientation: landscape) {
  body > div.set_toptext > main, body > div.set_impressum > main {
    padding-right: 0;
  }
  body > div.set_toptext > main > div#vline, body > div.set_impressum > main > div#vline {
    background-color: #9ACD32;
  }
}
@media only screen and (orientation: landscape) {
  body > div.set_angebote > header > nav > a.button:nth-of-type(1) {
    width: 80%;
    margin-right: 0;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }
  body > div.set_angebote > main {
  }
  body > div.set_angebote > main > div#vline {
    background-color: #FF7600;
  }
}
@media only screen and (orientation: portrait) {
  body > div.set_angebote > header > nav > a.button:nth-of-type(1) {
    border-bottom: 0.4em solid #9ACD32;
  }
}
body > div.set_angebote > main > div#topcontainer > nav > a.button {
  background-color: #FF7600;
}
body > div.set_angebote > main > div#topcontainer > nav > a.button:hover {
  background-color: #9ACD32;
}
@media only screen and (orientation: landscape) {
  body > div.set_kontakt > header > nav > a.button:nth-of-type(2) {
    width: 80%;
    margin-right: 0;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }
  body > div.set_kontakt > main {
  }
  body > div.set_kontakt > main > div#vline {
    background-color: #3C689E;
  }
}
@media only screen and (orientation: portrait) {
  body > div.set_kontakt > header > nav > a.button:nth-of-type(2) {
    border-bottom: 0.4em solid #9ACD32;
  }
}
body > div.set_kontakt > main > div#topcontainer > nav > a.button {
  background-color: #3C689E;
}
body > div.set_kontakt > main > div#topcontainer > nav > a.button:hover {
  background-color: #9ACD32;
}

header {
  position: relative;
}
header > nav a.button,
header > nav button.button {
  border: 0;
  border-radius: 0.7em;
}
header > nav a.button:nth-of-type(1),
header > nav button.button:nth-of-type(1) {
  background-color: #FF7600;
}
header > nav a.button:nth-of-type(2),
header > nav button.button:nth-of-type(2) {
  background-color: #3C689E;
  color: white;
}
@media only screen and (orientation: landscape) {
  header {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 20vw;
            flex: 0 0 20vw;
  }
  header > div {
    padding: 2.5vw;
  }
  header > nav {
    margin-top: 0.2vh;
    position: relative;
  }
  header > nav a.button,
header > nav button.button {
    font-size: 1.3vw;
    height: 2.2vw;
    margin-left: 2.5vw;
    margin-right: 2.5vw;
    padding-top: 0.2em;
  }
  header > nav a.button:nth-of-type(2),
header > nav button.button:nth-of-type(2) {
    margin-top: 2em;
  }
  header > figure {
    width: 100%;
    padding: 0 2.5vw;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    height: 5vh;
    margin-top: 8vh;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-line-pack: center;
        align-content: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  header > figure > span {
    height: 5.2vh;
    width: 5.2vh;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  header > figure > span:nth-of-type(2), header > figure > span:nth-of-type(3) {
    height: 5.2vh;
    width: 4.16vh;
  }
}
@media only screen and (orientation: portrait) {
  header {
    margin-bottom: 4vh;
  }
  header > div {
    position: relative;
    height: 25vh;
    text-align: center;
    padding: 1vh 0 0.5vh 0;
    -webkit-transition: height 0.1s;
    transition: height 0.1s;
    /* Smooth transition for height change */
  }
  header > div > a img {
    height: 100%;
  }
  header > nav {
    -webkit-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
            transform: rotate(90deg);
    position: fixed;
    left: -23.5vw;
    top: 23.5vw;
    height: 5vw;
    width: 52vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    /* align-items: center */
    /* justify-content: center */
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-column-gap: 0.9vh;
       -moz-column-gap: 0.9vh;
            column-gap: 0.9vh;
  }
}
@media only screen and (orientation: portrait) and (max-device-width: 35em) {
  header > nav {
    height: 7vw;
  }
}
@media only screen and (orientation: portrait) {
  header > nav a.button {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: lr-tb;
            writing-mode: horizontal-tb;
    -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
            transform: rotate(180deg);
    font-size: 3vw;
  }
}
@media only screen and (orientation: portrait) and (max-device-width: 35em) {
  header > nav a.button {
    font-size: 4vw;
  }
}
@media only screen and (orientation: portrait) {
  header > figure {
    display: none;
  }
}

main {
  background-color: var(--std-hellgrau);
}
@media only screen and (orientation: landscape) {
  main {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    padding: 6vh 4vw 0 8vw;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media only screen and (orientation: portrait) {
  main {
    margin: 0 6vw;
    padding: 0 3vw;
  }
}
@media only screen and (orientation: landscape) {
  main > div#vline {
    position: absolute;
    -webkit-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
            transform: rotate(90deg);
    top: 40vh;
    left: -35vh;
    width: 70vh;
    height: 0.2em;
  }
}
@media only screen and (orientation: portrait) {
  main > div#vline {
    display: none;
  }
}
@media only screen and (orientation: landscape) {
  main > div#topcontainer {
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
  main > div#topcontainer.head {
    -ms-flex-preferred-size: 15vh;
        flex-basis: 15vh;
  }
  main > div#topcontainer.buttons {
    -ms-flex-preferred-size: 14vh;
        flex-basis: 14vh;
  }
}
@media only screen and (orientation: portrait) {
  main > div#topcontainer {
    text-align: center;
    margin: 1.7em 0 0 0;
    padding-top: 3vh;
  }
}
@media only screen and (orientation: landscape) {
  main > div#topcontainer > h1 {
    font-size: 4vw;
  }
}
@media only screen and (orientation: portrait) {
  main > div#topcontainer > h1 {
    font-size: 7vw;
    line-height: 1.3em;
  }
}
main > div#topcontainer > h1 span:first-child {
  color: #3C689E;
  margin-right: 1em;
}
main > div#topcontainer > h1 span:last-child {
  color: #9ACD32;
}
main > div#topcontainer > nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: space-evenly;
      -ms-flex-pack: space-evenly;
          justify-content: space-evenly;
}
main > div#topcontainer > nav a.button,
main > div#topcontainer > nav button.button {
  border: 0;
  border-radius: 0.7em;
}
main > div#topcontainer > nav a.active {
  background-color: #9ACD32 !important;
}
@media only screen and (orientation: landscape) {
  main > div#topcontainer > nav {
    margin-top: 0.2vh;
  }
  main > div#topcontainer > nav a.button {
    font-size: 1.3vw;
    height: 2.2vw;
    padding-top: 0.2em;
    width: 10vw;
  }
}
@media only screen and (orientation: portrait) {
  main > div#topcontainer > nav {
    -webkit-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
            transform: rotate(90deg);
    position: fixed;
    right: -49.5vw;
    top: 49.5vw;
    height: 5vw;
    width: 104vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    /* align-items: center */
    /* justify-content: center */
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-column-gap: 0.9vh;
       -moz-column-gap: 0.9vh;
            column-gap: 0.9vh;
  }
}
@media only screen and (orientation: portrait) and (max-device-width: 35em) {
  main > div#topcontainer > nav {
    height: 7vw;
  }
}
@media only screen and (orientation: portrait) {
  main > div#topcontainer > nav a.button {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: lr-tb;
            writing-mode: horizontal-tb;
    -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
            transform: rotate(180deg);
    font-size: 3vw;
  }
}
@media only screen and (orientation: portrait) and (max-device-width: 35em) {
  main > div#topcontainer > nav a.button {
    font-size: 4vw;
  }
}
main > div#maincontainer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-height: 0;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}
@media only screen and (orientation: landscape) {
  main > div#maincontainer.aside_ps {
    -webkit-column-gap: 4vw;
       -moz-column-gap: 4vw;
            column-gap: 4vw;
  }
  main > div#maincontainer.aside_ps > section {
    -webkit-box-flex: 5;
        -ms-flex: 5;
            flex: 5;
    background-color: white;
    border-top-right-radius: 6vw 6vw;
  }
  main > div#maincontainer.aside_ps > aside {
    -webkit-box-flex: 6;
        -ms-flex: 6;
            flex: 6;
    padding-top: 0;
    margin-top: 0;
  }
}
@media only screen and (orientation: portrait) {
  main > div#maincontainer.aside_ps {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    row-gap: 1em;
  }
  main > div#maincontainer.aside_ps > aside {
    padding: 0 6vw;
  }
  main > div#maincontainer.aside_ps > section {
    padding: 1em 1em 10vh 1em;
    background-color: var(--std-weiss);
  }
}
@media only screen and (orientation: landscape) {
  main > div#maincontainer.aside_text_standard, main > div#maincontainer.aside_text_small, main > div#maincontainer.aside_text_wide, main > div#maincontainer.aside_text_extrawide {
    background-color: white;
    border-top-right-radius: 6vw 6vw;
    padding-right: 3vw;
  }
  main > div#maincontainer.aside_text_standard > section, main > div#maincontainer.aside_text_small > section, main > div#maincontainer.aside_text_wide > section, main > div#maincontainer.aside_text_extrawide > section {
    -webkit-box-flex: 6;
        -ms-flex: 6;
            flex: 6;
  }
  main > div#maincontainer.aside_text_standard > aside, main > div#maincontainer.aside_text_small > aside, main > div#maincontainer.aside_text_wide > aside, main > div#maincontainer.aside_text_extrawide > aside {
    -webkit-box-flex: 5;
        -ms-flex: 5;
            flex: 5;
    background-color: rgb(234, 234, 234);
  }
  main > div#maincontainer.aside_text_standard > aside > div, main > div#maincontainer.aside_text_small > aside > div, main > div#maincontainer.aside_text_wide > aside > div, main > div#maincontainer.aside_text_extrawide > aside > div {
    padding: 1.5vw;
    padding-top: 0;
  }
  main > div#maincontainer.aside_text_standard > aside > div h1, main > div#maincontainer.aside_text_small > aside > div h1, main > div#maincontainer.aside_text_wide > aside > div h1, main > div#maincontainer.aside_text_extrawide > aside > div h1 {
    margin-top: 1em;
  }
  main > div#maincontainer.aside_text_standard > aside figure, main > div#maincontainer.aside_text_small > aside figure, main > div#maincontainer.aside_text_wide > aside figure, main > div#maincontainer.aside_text_extrawide > aside figure {
  }
  main > div#maincontainer.aside_text_standard > aside figure figure img, main > div#maincontainer.aside_text_small > aside figure figure img, main > div#maincontainer.aside_text_wide > aside figure figure img, main > div#maincontainer.aside_text_extrawide > aside figure figure img {
    border-top-right-radius: 3vw 3vw;
  }
}
@media only screen and (orientation: portrait) {
  main > div#maincontainer.aside_text_standard, main > div#maincontainer.aside_text_small, main > div#maincontainer.aside_text_wide, main > div#maincontainer.aside_text_extrawide {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 1em;
  }
  main > div#maincontainer.aside_text_standard > aside, main > div#maincontainer.aside_text_small > aside, main > div#maincontainer.aside_text_wide > aside, main > div#maincontainer.aside_text_extrawide > aside {
    padding: 0em 0em 2em 0em;
  }
  main > div#maincontainer.aside_text_standard > aside p,
main > div#maincontainer.aside_text_standard > aside ul, main > div#maincontainer.aside_text_small > aside p,
main > div#maincontainer.aside_text_small > aside ul, main > div#maincontainer.aside_text_wide > aside p,
main > div#maincontainer.aside_text_wide > aside ul, main > div#maincontainer.aside_text_extrawide > aside p,
main > div#maincontainer.aside_text_extrawide > aside ul {
    margin: 0em 1em 2em 1em;
  }
  main > div#maincontainer.aside_text_standard > section, main > div#maincontainer.aside_text_small > section, main > div#maincontainer.aside_text_wide > section, main > div#maincontainer.aside_text_extrawide > section {
    padding: 1em 1em 1em 1em;
    background-color: var(--std-weiss);
  }
}
@media only screen and (orientation: landscape) {
  main > div#maincontainer.aside_text_small > section {
    -webkit-box-flex: 8;
        -ms-flex: 8;
            flex: 8;
  }
  main > div#maincontainer.aside_text_small > aside {
    -webkit-box-flex: 5;
        -ms-flex: 5;
            flex: 5;
  }
  main > div#maincontainer.aside_text_small > aside > div {
    padding-top: 0;
  }
}
@media only screen and (orientation: landscape) {
  main > div#maincontainer.aside_text_wide > section, main > div#maincontainer.aside_text_extrawide > section {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  main > div#maincontainer.aside_text_wide > aside, main > div#maincontainer.aside_text_extrawide > aside {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    background-color: transparent;
    padding-top: 0;
    padding-bottom: 10vh;
  }
  main > div#maincontainer.aside_text_wide > aside > div, main > div#maincontainer.aside_text_extrawide > aside > div {
    padding: 0 0 0 1em;
  }
}
@media only screen and (orientation: landscape) {
  main > div#maincontainer.aside_text_extrawide > aside {
    -webkit-box-flex: 3;
        -ms-flex: 3;
            flex: 3;
  }
}
@media only screen and (orientation: landscape) {
  main > div#maincontainer {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }
}
@media only screen and (orientation: landscape) {
  main > div#maincontainer > section {
    overflow-y: auto;
    padding: 1vw 3vw 4vw 3vw;
  }
}
main > div#maincontainer > section > img {
  width: 100%;
}
main > div#maincontainer > aside img {
  margin-bottom: 1em;
}
@media only screen and (orientation: landscape) {
  main > div#maincontainer > aside {
    overflow-y: auto;
    padding-top: 1vw;
    margin-top: 1vw;
    margin-bottom: 2em;
  }
}
@media only screen and (orientation: portrait) {
  main > div#maincontainer > aside > div {
    margin-bottom: 4em;
  }
}

footer {
  position: fixed;
  bottom: 0vh;
  left: 0;
  width: 100vw;
  pointer-events: none;
}
footer > div#fc {
  height: 100%;
  position: relative;
  z-index: 3;
  pointer-events: none;
}
footer > div#fc * {
  pointer-events: auto;
}
@media only screen and (orientation: landscape) {
  footer > div#fc {
    height: 16vh;
  }
}
@media only screen and (orientation: portrait) {
  footer > div#fc {
    height: 9.5vh;
  }
}
@media only screen and (orientation: landscape) {
  footer > div#fc > p {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: absolute;
    bottom: 0.2em;
    left: 2em;
    right: 2em;
    font-size: 1.2vw;
    text-align: center;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    -ms-flex-line-pack: justify;
        align-content: space-between;
    -webkit-box-pack: space-evenly;
        -ms-flex-pack: space-evenly;
            justify-content: space-evenly;
  }
  footer > div#fc > p span:nth-last-of-type(-n+2) {
    width: 5.2vh;
    height: auto;
  }
  footer > div#fc > div {
    display: none;
  }
}
@media only screen and (orientation: portrait) {
  footer > div#fc > p {
    display: none;
  }
  footer > div#fc > div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: absolute;
    bottom: 0em;
    left: 0em;
    right: 0em;
    font-size: 1.2em;
    text-align: center;
    -ms-flex-line-pack: center;
        align-content: center;
    -webkit-box-pack: space-evenly;
        -ms-flex-pack: space-evenly;
            justify-content: space-evenly;
  }
  footer > div#fc > div > span {
    height: 5.2vh;
    width: 5.2vh;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  footer > div#fc > div > span:nth-of-type(2), footer > div#fc > div > span:nth-of-type(3) {
    height: 5.2vh;
    width: 4.16vh;
  }
  footer > div#fc > div > span:last-of-type {
  }
  footer > div#fc > div > span:last-of-type img {
    margin-bottom: 1em;
  }
}
@media only screen and (orientation: landscape) {
  @-webkit-keyframes slideInAnim {
    0% {
      bottom: -29vw;
    }
    66.66% {
      bottom: -10px;
    }
    100% {
      bottom: -10px;
    }
  }
  @keyframes slideInAnim {
    0% {
      bottom: -29vw;
    }
    66.66% {
      bottom: -10px;
    }
    100% {
      bottom: -10px;
    }
  }
}
@media only screen and (orientation: portrait) {
  @-webkit-keyframes slideInAnim {
    0% {
      bottom: -29vw;
    }
    66.66% {
      bottom: 30px;
    }
    100% {
      bottom: 30px;
    }
  }
  @keyframes slideInAnim {
    0% {
      bottom: -29vw;
    }
    66.66% {
      bottom: 30px;
    }
    100% {
      bottom: 30px;
    }
  }
}
@media only screen and (orientation: landscape) {
  @-webkit-keyframes bounceMotion {
    0%, 100% {
      bottom: -10px;
    }
    50% {
      bottom: 20px;
    }
  }
  @keyframes bounceMotion {
    0%, 100% {
      bottom: -10px;
    }
    50% {
      bottom: 20px;
    }
  }
}
@media only screen and (orientation: portrait) {
  @-webkit-keyframes bounceMotion {
    0%, 100% {
      bottom: 30px;
    }
    50% {
      bottom: 50px;
    }
  }
  @keyframes bounceMotion {
    0%, 100% {
      bottom: 30px;
    }
    50% {
      bottom: 50px;
    }
  }
}
@media only screen and (orientation: landscape) {
  @-webkit-keyframes slideOutAnim {
    from {
      bottom: -10px;
    }
    to {
      bottom: -29vw;
    }
  }
  @keyframes slideOutAnim {
    from {
      bottom: -10px;
    }
    to {
      bottom: -29vw;
    }
  }
}
@media only screen and (orientation: portrait) {
  @-webkit-keyframes slideOutAnim {
    from {
      bottom: 30px;
    }
    to {
      bottom: -29vw;
    }
  }
  @keyframes slideOutAnim {
    from {
      bottom: 30px;
    }
    to {
      bottom: -29vw;
    }
  }
}
footer > div#bg {
  position: absolute;
  z-index: 2;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  pointer-events: none;
}
footer > div#bg > svg {
  width: 100%;
  height: 100%;
  position: relative;
}
@media only screen and (orientation: landscape) {
  footer > div#bg > svg {
    height: 170%;
  }
}
footer > div#bg > svg path#bgpt {
  fill: rgb(197, 197, 197);
}
footer > div#bg > svg path#anpt {
  fill: none;
}
footer > div#bg > img {
  width: 100%;
  position: absolute;
  left: 0;
  bottom: -29vw;
}
footer > div#bg > img.slideIn {
  -webkit-animation-name: slideInAnim;
          animation-name: slideInAnim;
  -webkit-animation-duration: 4s;
          animation-duration: 4s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: ease-out;
          animation-timing-function: ease-out;
}
footer > div#bg > img.bounce {
  -webkit-animation-name: bounceMotion;
          animation-name: bounceMotion;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-iteration-count: 10;
          animation-iteration-count: 10;
  -webkit-animation-direction: alternate;
          animation-direction: alternate;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
footer > div#bg > img.slideOut {
  -webkit-animation-name: slideOutAnim;
          animation-name: slideOutAnim;
  -webkit-animation-duration: 2s;
          animation-duration: 2s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: ease-in;
          animation-timing-function: ease-in;
}
footer > div#k23 {
  position: absolute;
  z-index: 1;
  pointer-events: all;
  -webkit-transition: bottom 2s ease;
  transition: bottom 2s ease; /* <- hier wird die Animation definiert */
  cursor: pointer;
}
@media only screen and (orientation: landscape) {
  footer > div#k23 {
    bottom: 11vh;
    left: 6vw;
    width: 15vh;
  }
  footer > div#k23.anim {
    bottom: calc(11vh + 14.5vw);
  }
}
@media only screen and (orientation: portrait) {
  footer > div#k23 {
    bottom: 8vh;
    left: 1vw;
    width: 12vw;
  }
  footer > div#k23.anim {
    bottom: calc(8vh + 14.5vw);
  }
}
footer > div#k23 img {
  width: 100%;
}
footer > div#share {
  position: absolute;
  background-color: rgb(243, 243, 246);
  right: 5.2vh;
  top: -5.2vh;
  display: none;
  gap: 1em;
}
footer > div#share.visible {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
footer > div#share span {
  height: 100%;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
footer > div#share span a {
  pointer-events: all;
}
footer > div#share span img {
  height: 5.2vh;
}

.button {
  font-family: "Cambay-Bold", sans-serif;
  padding: 0.1em 1em 0 1em;
  text-decoration: none;
  color: white !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

h2 {
  margin-top: 1em;
  margin-bottom: 0.6em;
  display: block;
  line-height: 1.2em;
  padding: 0.35em 0.3em 0.05em 0.35em;
}
h2.padleft {
  padding-left: 0;
}
h2.colblue, h2.colorange, h2.colgruen {
  color: white;
}
h2.colblue {
  background-color: #3C689E;
}
h2.colorange {
  background-color: #FF7600;
}
h2.colgruen {
  background-color: #9ACD32;
}
@media only screen and (orientation: landscape) {
  h2 {
    font-size: 1.8vw;
  }
}
@media only screen and (orientation: portrait) {
  h2 {
    font-size: 5.1vw;
  }
}

ul,
ol {
  /* user-agent styles */
  display: block;
  list-style-type: disc;
  -webkit-margin-before: 0.3em;
          margin-block-start: 0.3em;
  -webkit-margin-after: 0.3em;
          margin-block-end: 0.3em;
  -webkit-padding-start: 1.5em;
          padding-inline-start: 1.5em;
}
ul ul,
ol ul {
  list-style-type: circle;
}

ol {
  list-style-type: decimal;
}

li {
  display: list-item;
  text-align: left;
  margin-top: 0.33em;
}

dl {
  margin: 1em 0;
  padding: 0.5em 1em;
  border-left: 0.25em solid #3C689E;
  background-color: rgb(243, 243, 246);
}
dl dt {
  margin-top: 1em;
}
dl dt:nth-of-type(1n+2) {
  border-top: 0.2em solid rgb(195, 195, 195);
  padding-top: 1em;
}
dl dt img {
  max-width: 50%;
}
dl dd {
  margin-top: 0.5em;
}

.col_weiss {
  color: white;
}

.col_blue {
  color: #3C689E;
}

.col_orange {
  color: #FF7600;
}

.col_gruen {
  color: #9ACD32;
}

.logofix {
  position: fixed;
  width: 100vw;
  background-color: white;
  -webkit-transition: background-color 1.5s;
  transition: background-color 1.5s;
}

.icon, .icon2 {
  cursor: pointer;
}

#popup {
  display: none;
  /* Popup ist standardmäßig versteckt */
  position: fixed;
  white-space: nowrap;
  width: auto;
  padding: 0.5em 0.5em 0.5em 0.5em;
  background-color: #fff;
  border: 1px solid #ccc;
  -webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
  overflow-y: auto;
  z-index: 1000;
  /* Popup bleibt über anderen Elementen */
}
@media only screen and (orientation: portrait) {
  #popup {
    bottom: 16vh;
    left: 0;
  }
}
#popup > div > h1 {
  margin-bottom: 0.5em;
}
#popup > div > p {
  font-size: 75%;
}
#popup section {
  margin-bottom: 1em;
}
#popup button {
  cursor: pointer;
  background-color: #9ACD32;
  color: rgb(46, 46, 46);
  font-weight: bold;
  margin-right: 3em;
}

#popup .close-btn {
  position: absolute;
  top: 0.6em;
  right: 0.6em;
  cursor: pointer;
  font-weight: bold;
  color: #333;
}
h1 span:first-child {
  color: #3C689E;
  margin-right: 1em;
}
h1 span:last-child {
  color: #9ACD32;
}

a:link, a:visited {
  color: #3C689E;
}

a:hover, a:active {
  color: #FF7600;
}

.wp-block {
  margin-bottom: 3em;
}

.marker_abschnitt {
  text-align: center;
  background-color: rgb(195, 195, 195);
  vertical-align: middle;
}

.language-selector {
  text-align: right;
  padding-top: 8%;
  padding-right: 8%;
}

.leichte-sprache {
  background-color: #9ACD32 !important;
  color: rgb(46, 46, 46) !important;
}

.normale-sprache {
  background-color: rgb(66, 66, 66) !important;
  color: white !important;
}

.set-language {
  background-color: #636363;
  cursor: pointer;
}
@media only screen and (orientation: landscape) {
  .set-language {
    position: absolute;
    bottom: -20vh;
    font-size: 60% !important;
    height: 1.5vw !important;
    width: 45% !important;
  }
}
@media only screen and (orientation: portrait) {
  .set-language {
    white-space: nowrap;
    -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
            transform: rotate(180deg);
    margin-left: 30vh;
    font-size: 90%;
  }
}

.set-language:hover {
  background-color: #005177;
}

figure {
  margin: 1em auto !important;
}
figure > a {
  width: 100%;
}
figure.top {
  margin-top: 0;
}
figure.mtop1 {
  margin-top: 1em;
}
figure.mtop2 {
  margin-top: 2em !important;
}
figure figcaption {
  background-color: rgb(46, 46, 46) !important;
  font-size: 85% !important;
  padding: 0.1em !important;
  padding-top: 0.4em !important;
  color: #fff;
  text-align: center;
  margin-top: 0 !important;
}

.fancybox-title {
  font: 85% "Cambay", sans-serif !important;
  text-align: center;
  padding: 0.1em !important;
  padding-top: 0.2em !important;
}

.wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption)::before {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  content: none !important;
  height: auto !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
  max-height: none !important;
}

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
  background: rgb(46, 46, 46) !important;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #fff;
  font-size: 85% !important;
  margin: 0;
  overflow: auto;
  scrollbar-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0);
  scrollbar-gutter: stable both-edges;
  scrollbar-width: thin;
  text-align: center;
  text-shadow: unset !important;
  will-change: unset !important;
}

.img_50p {
  position: relative;
  width: 50%;
}
@media only screen and (orientation: portrait) {
  .img_50p {
    width: 50%;
  }
}

.img_70p {
  position: relative;
  width: 70%;
}
@media only screen and (orientation: portrait) {
  .img_70p {
    width: 70%;
  }
}

.img_mt {
  margin-top: 1em;
}

.trenner {
  margin: 1.5em 0;
  border-color: #FF7600;
  border-width: 0.3em;
}

figure.qr {
  text-align: center;
  margin: 0;
}
@media only screen and (orientation: landscape) {
  figure.qr img {
    width: 40%;
    margin-bottom: 0 !important;
  }
}

p.span_img_col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
p.span_img_col span:nth-of-type(1) {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 57%;
          flex: 0 0 57%;
}
p.span_img_col span:nth-of-type(2) {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 43%;
          flex: 0 0 43%;
}

.block-button__extra {
  padding: 0.5em 1em !important;
  background-color: #FF7600 !important;
  color: white !important;
}
.block-button__extra:hover {
  background-color: #9ACD32 !important;
}

.wp-block-ajs-text-head-bold {
  color: rgb(46, 46, 46);
}

hr.print-only {
  display: none;
}