.cc-head>*:first-child{margin-top:0}.cc-head>*:last-child{margin-bottom:15px}.contao-cookiebar{--ccb-backdrop: rgba(0, 0, 0, .75);--ccb-anim-duration: .5s;--ccb-checked-clr: #399d32;--ccb-checked-bg: #dcf3db;--ccb-unchecked-clr: #9c9b99;--ccb-unchecked-bg: #fff;--ccb-disabled-clr: #c8c7c5;--ccb-disabled-bg: #f4f4f4;position:fixed;inset:0;z-index:9999;display:flex;align-items:var(--ccb-align, center);justify-content:var(--ccb-justify, center);letter-spacing:0;padding:15px;max-height:100dvh;box-sizing:border-box;pointer-events:none;overflow:hidden;color:var(--ccb-clr, #444)}.contao-cookiebar *{box-sizing:border-box}.contao-cookiebar p{color:var(--ccb-text, #868686);line-height:1.4}.contao-cookiebar label{position:relative;display:block;padding:8px 13px 8px 0;line-height:1.2rem}.contao-cookiebar label.group{font-weight:600}.contao-cookiebar input{position:absolute;width:1px;height:1px;outline:0 none;opacity:0}.contao-cookiebar input+label{padding:8px 13px 8px 45px;cursor:pointer}.contao-cookiebar input+label:before,.contao-cookiebar input+label:after{content:"";position:absolute;border-radius:10px}.contao-cookiebar input+label:before{top:7px;left:0;width:35px;height:18px;margin:0;box-sizing:content-box;background:var(--ccb-unchecked-bg);border:1px solid var(--ccb-unchecked-clr);transition:border-color .2s}.contao-cookiebar input+label:after{display:block;top:11px;left:4px;width:12px;height:12px;background:var(--ccb-unchecked-clr);transition:background .2s,margin-left .2s,padding .2s}.contao-cookiebar input+label:active:after{padding-left:5px}.contao-cookiebar input.cc-group-half+label:after{background:linear-gradient(to right, var(--ccb-unchecked-clr) 0%, var(--ccb-unchecked-clr) 50%, var(--ccb-checked-clr) 50%, var(--ccb-checked-clr) 100%)}.contao-cookiebar input:checked+label:after{background:var(--ccb-checked-clr);margin-left:17px}.contao-cookiebar input:checked+label:active:after{margin-left:12px}.contao-cookiebar input:checked+label:before{background:var(--ccb-checked-bg);border-color:var(--ccb-checked-clr)}.contao-cookiebar input:disabled+label{pointer-events:none}.contao-cookiebar input:disabled+label:after{background:var(--ccb-disabled-clr)}.contao-cookiebar input:disabled+label:before{background:var(--ccb-disabled-bg);border-color:var(--ccb-disabled-clr)}.contao-cookiebar .cc-btn{display:inline-block;cursor:pointer;width:100%;padding:8px 14px;margin-bottom:8px;font-size:15px;outline:0 none;border:1px solid var(--ccb-btn-bdr, #cfcfcf);border-radius:4px;color:var(--ccb-btn-clr, #444);background:var(--ccb-btn-bg, #f5f5f5)}.contao-cookiebar .cc-btn:hover{background:var(--ccb-btn-bg-hvr, #ececec)}.contao-cookiebar .cc-btn:last-child{margin-bottom:0}.contao-cookiebar .grayscale{--ccb-btn-bg: #f1efef;--ccb-btn-bg-hvr: #ececec}.contao-cookiebar .grayscale .success{--ccb-btn-bg: #fbfbfb;--ccb-btn-bg-hvr: #f7f7f7}.contao-cookiebar .highlight .success{--ccb-btn-bg: #4e9e3e;--ccb-btn-bg-hvr: #4c933f;--ccb-btn-bdr: #3e7830;--ccb-btn-clr: #fff}.cc-inner{display:inline-block;overflow-y:auto;max-height:100%;max-width:100%;padding:23px;border-radius:3px;opacity:0;pointer-events:none;visibility:hidden;font-size:1rem;text-align:left;background:var(--ccb-bg, #fff);box-shadow:var(--ccb-box-shadow, rgba(99, 99, 99, 0.2)) 0 2px 8px 0;animation:var(--ccb-anim, cookiebar-middle-in) var(--ccb-anim-duration) ease-in-out forwards}.cc-group{position:relative;border:1px solid var(--ccb-bdr, #d0d0d0);border-radius:5px;margin-bottom:10px}.cc-cookie-info{font-size:.875rem;background:var(--ccb-info-bg, #fff);border:1px solid var(--ccb-info-bdr, #efefef);padding:10px;border-radius:5px}.cc-cookie-info>div>span{font-weight:600}.cc-cookie-info>div+div{margin-top:5px;word-wrap:break-word}.cc-cookie-info+button.cc-detail-btn-details{margin-top:15px}.cc-cookies{background:var(--ccb-cookies-bg, #fbfbfb);border-radius:0 0 5px 5px}.cc-cookies>p{font-size:.875rem}.cc-cookies>p,.cc-cookies>.cc-cookie{margin:0;padding:15px;border-top:1px solid var(--ccb-cookies-bdr, #fbfbfb)}.cc-cookie label.cookie+*{margin-top:10px}.cc-cookie p{margin:0 0 15px;font-size:.875rem}.cc-cookie-desc p{margin-bottom:0}.cc-footer,.cc-info{text-align:center}.cc-info{margin-top:15px}.cc-info>p{font-size:.875rem}.cc-info>a{display:inline-block;font-size:.813rem;color:var(--ccb-detail-clr, #a2a2a2);text-decoration:none}.cc-info>a:hover{color:var(--ccb-detail-clr-hvr, #717171)}.cc-info>a+a:before{display:inline-block;content:"·";margin-right:5px}.cc-active .cc-inner{opacity:1;pointer-events:auto;visibility:visible}.cc-active.cc-blocked{pointer-events:auto;animation:cookiebar-overlay-in var(--ccb-anim-duration) ease-in-out forwards}.cc-saved.cc-inner{opacity:0;pointer-events:none;visibility:hidden}.cc-saved.cc-blocked{pointer-events:none;animation:cookiebar-overlay-out var(--ccb-anim-duration) ease-in-out forwards}.cc-left{--ccb-justify: flex-start}.cc-right{--ccb-justify: flex-end}.cc-top{--ccb-align: flex-start}.cc-top.cc-active{--ccb-anim: cookiebar-top-in}.cc-top.cc-saved{--ccb-anim: cookiebar-top-out}.cc-middle.cc-active{--ccb-anim: cookiebar-middle-in}.cc-middle.cc-saved{--ccb-anim: cookiebar-middle-out}.cc-bottom{--ccb-align: flex-end}.cc-bottom.cc-active{--ccb-anim: cookiebar-bottom-in}.cc-bottom.cc-saved{--ccb-anim: cookiebar-bottom-out}@media(min-width: 768px){.contao-cookiebar .cc-btn{width:auto;margin-bottom:0}.cc-inner{max-width:var(--ccb-max-width, 750px)}}@keyframes cookiebar-overlay-in{0%{background:rgba(0,0,0,0)}to{background:var(--ccb-backdrop)}}@keyframes cookiebar-overlay-out{0%{background:var(--ccb-backdrop)}to{background:rgba(0,0,0,0);visibility:hidden}}@keyframes cookiebar-top-in{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@keyframes cookiebar-top-out{0%{opacity:1;visibility:visible;transform:translateY(0)}to{opacity:0;visibility:hidden;transform:translateY(-100%)}}@keyframes cookiebar-middle-in{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes cookiebar-middle-out{0%{opacity:1;visibility:visible;transform:scale(1)}to{opacity:0;visibility:hidden;transform:scale(0)}}@keyframes cookiebar-bottom-in{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes cookiebar-bottom-out{0%{opacity:1;visibility:visible;transform:translateY(0)}to{opacity:0;visibility:hidden;transform:translateY(100%)}}.cc-groups{display:none;padding-top:15px}.cc-group{text-align:left}.cc-group>label{margin:5px 130px 5px 10px}.cc-detail-btn-details{text-decoration:underline;padding:0;margin:0 0 10px;color:var(--ccb-detail-clr, #a2a2a2);border:0 none;outline:0 none;background:rgba(0,0,0,0);font-size:13px;letter-spacing:0;text-transform:initial;cursor:pointer}.cc-detail-btn-details span:nth-child(2){display:none}.cc-detail-btn-details.cc-active span:nth-child(1){display:none}.cc-detail-btn-details.cc-active span:nth-child(2){display:inline}.cc-detail-btn-details:hover{color:var(--ccb-detail-clr-hvr, #717171)}
@font-face {
  font-family: 'icomoon';
  src:
    url('../../files/Layout/icons/fonts/icomoon.ttf?m10wbp') format('truetype'),
    url('../../files/Layout/icons/fonts/icomoon.woff?m10wbp') format('woff'),
    url('../../files/Layout/icons/fonts/icomoon.svg?m10wbp#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-cross:before {
  content: "\ed6d";
}
.icon-arrow-up3:before {
  content: "\edb9";
}
.icon-arrow-right3:before {
  content: "\edbd";
}
.icon-arrow-down3:before {
  content: "\edc1";
}
.icon-arrow-left3:before {
  content: "\edc5";
}
.icon-home:before {
  content: "\e901";
}
.icon-phone:before {
  content: "\ea1c";
}
.icon-phone2:before {
  content: "\ea1d";
}
.icon-mail:before {
  content: "\ea34";
}
.icon-printer:before {
  content: "\ea69";
}
.icon-mobile:before {
  content: "\ea78";
}
.icon-menu:before {
  content: "\ec71";
}
.icon-link:before {
  content: "\ec99";
}
.icon-arrow-up:before {
  content: "\edb8";
}
.icon-arrow-right:before {
  content: "\edbc";
}
.icon-arrow-down:before {
  content: "\edc0";
}
.icon-arrow-left:before {
  content: "\edc4";
}
.icon-facebook:before {
  content: "\eef0";
}
.icon-instagram:before {
  content: "\eef1";
}
.icon-file-text:before {
  content: "\e926";
}
.icon-linkedin:before {
  content: "\eac9";
}
.icon-xing:before {
  content: "\ead3";
}
.icon-file-pdf:before {
  content: "\eadf";
}
.icon-file-word:before {
  content: "\eae1";
}
.icon-file-excel:before {
  content: "\eae2";
}
.icon-file-picture:before {
  content: "\e927";
}

@charset "UTF-8";
/*
 * Variables
 */
/* Weiß */
/* Blau */
/* Hellblau */
/* Dunkelgrau*/
/* Schwarz Text */
/* Grau Hintergrund dunkler */
/* Grau Hintergrund dunkler */
/* Grau Hintergrund heller*/
*,
::before,
::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-repeat: no-repeat;
}

::before,
::after {
  text-decoration: inherit;
  vertical-align: inherit;
}

html {
  cursor: default;
  line-height: 1.7;
  text-rendering: optimizeSpeed;
  -moz-tab-size: 4;
    -o-tab-size: 4;
       tab-size: 4;
  -webkit-tap-highlight-color: transparent;
  -webkit-text-size-adjust: 100%;
  word-break: break-word;
}

html:focus-within {
  scroll-behavior: smooth;
}

body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd,
ol,
ul {
  margin: 0;
}

ol,
ul {
  padding: 0 0 2em 2em;
}

nav ol,
nav ul {
  list-style: none;
  padding: 0;
}

iframe {
  border-style: none;
}

img {
  border-style: none;
}

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

table {
  border-collapse: collapse;
  border-color: inherit;
  text-indent: 0;
}

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1;
  margin: 0;
  border: none;
  padding: 0.5em 1em;
  width: 100%;
  max-width: 600px;
  -webkit-appearance: none;
  border-radius: 0;
  background-color: #FFFFFF;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

input:focus {
  background-color: #FFFFFF;
  outline: none;
}

.button,
.back a,
button,
.ce_hyperlink a,
[type=button],
[type=reset],
[type=submit] {
  padding: 0.3em 1em;
  margin: 2em 0;
  border: none;
  -webkit-appearance: button;
  background-color: #FFFFFF;
  color: #000000;
  cursor: pointer;
  display: inline-block;
  width: auto;
}

@font-face {
  font-family: "Overpass";
  font-weight: 100 900;
  font-style: normal;
  font-stretch: 100%;
  font-display: swap;
  src: url("../../files/Layout/fonts/Overpass-VariableFont_wght.woff2") format("woff2");
}
@font-face {
  font-family: "Overpass";
  font-weight: 100 900;
  font-style: italic;
  font-stretch: 100%;
  font-display: swap;
  src: url("../../files/Layout/fonts/Overpass-Italic-VariableFont_wght.woff2") format("woff2");
}
::-moz-selection {
  background: #00406d;
  color: #FFFFFF;
}

::selection {
  background: #00406d;
  color: #FFFFFF;
}

.actionbox ::-moz-selection {
  background: #FFFFFF;
  color: #00406d;
}
.actionbox ::selection {
  background: #FFFFFF;
  color: #00406d;
}

html {
  font-family: "Overpass", sans-serif;
  font-weight: 400;
  font-size: 95%;
  font-style: normal;
  color: #000000;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: auto;
     -moz-text-size-adjust: auto;
      -ms-text-size-adjust: auto;
          text-size-adjust: auto;
}
@media (min-width: 900px) {
  html {
    font-size: 105%;
  }
}
@media (min-width: 1200px) {
  html {
    font-size: 115%;
  }
}
@media (min-width: 1600px) {
  html {
    font-size: 120%;
  }
}

p {
  margin: 0 0 1em;
}
p.bigtext {
  font-size: 1.2em;
  line-height: 1.5;
}

b, strong {
  font-weight: 700;
}

.center {
  text-align: center;
}

h1, h2, h3, h4 {
  /* Change heading typefaces here */
  font-style: normal;
  width: 100%;
  font-weight: 400;
  margin: 0;
  line-height: 1.3;
  letter-spacing: 0.3px;
  color: #00406d;
}

h1 {
  font-size: 1.5rem;
  padding: 0em 0 0.5em;
}

h2 {
  font-size: 1.3rem;
  padding: 2em 0 0.7em;
}

h3 {
  font-size: 1.2rem;
  padding: 2em 0 0.7em;
}

h4 {
  font-size: 1.1rem;
  padding: 2em 0 0.2em;
}

@media (min-width: 1200px) {
  h1 {
    font-size: 1.8rem;
  }
  h2 {
    font-size: 1.6rem;
  }
  h3 {
    font-size: 1.4rem;
  }
  h4 {
    font-size: 1.1rem;
  }
}
h1 + h2, h1 + h3, h1 + h4, h2 + h3, h2 + h4, h3 + h4, h3 + p, h4 + p {
  padding-top: 0;
}

.home h1 {
  padding-top: 1.4em;
}

.text h2:first-of-type, .text h3:first-of-type, .text h4:first-of-type, .ce_text h2:first-of-type, .ce_text h3:first-of-type, .ce_text h4:first-of-type {
  padding-top: 0;
}

/* ##################################################### */
/* ############## Link ################################# */
/* ##################################################### */
a {
  color: #00406d;
  text-decoration: none;
  -webkit-transition: all 0.2s linear 0s;
  transition: all 0.2s linear 0s;
  border-bottom: 1px dotted #00406d;
}
a:hover {
  color: #000000;
}
a:active {
  color: #00406d;
}

mark, .highlight {
  background-color: #00406d;
  color: #FFFFFF;
}

/* ##################################################### */
/* ############## Customized Typo ###################### */
/* ##################################################### */
.icon, .contao-cookiebar .cc-inner:before, .ce_downloads li a:after, .ce_download p a:after, summary:after, .ce_form .formbody .widget-select:before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "icomoon" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

table {
  background-color: #FFFFFF;
  border-collapse: collapse;
  border: none;
  width: 100%;
  line-height: 1.2;
  margin: 0 0 2em;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
}
table thead {
  background-color: #00406d;
}
table thead th {
  color: #fff;
  font-weight: 700;
  padding: 1.4em 0.5em;
  vertical-align: top;
  font-size: 0.8em;
  text-align: left;
}
table thead th.col_first {
  padding-left: 1.5em;
}
table tfoot td {
  background-color: #e2e2e2;
  font-size: 0.75em;
  border-top: 1px solid #999;
  padding: 0.6em 1em;
  text-align: center;
  vertical-align: top;
}
table tbody tr {
  border-bottom: 1px solid #e2e2e2;
}
table tbody td, table tbody th {
  padding: 1em 0.5em;
  font-size: 0.75em;
  vertical-align: top;
}
table tbody td.col_first, table tbody th.col_first {
  padding-left: 1.5em;
  min-width: 100px;
}
table tbody td.col_last, table tbody th.col_last {
  padding-right: 1em;
}

/* ##################################################### */
/* ############## Kontaktformular ###################### */
/* ##################################################### */
.ce_form .formbody label {
  display: none;
}
.ce_form .formbody .widget {
  margin-bottom: 1em;
}
.ce_form .formbody button {
  margin: 0;
  padding: 1em 2em;
}
.ce_form .formbody .widget-select {
  position: relative;
}
.ce_form .formbody .widget-select:before {
  content: "\edc0";
  pointer-events: none;
  position: absolute;
  bottom: 1em;
  right: 1em;
  color: #00406d;
  font-size: 0.7em;
}
.ce_form .formbody .widget-select select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
  padding-left: 0.8em;
}
.ce_form .formbody .widget-select option {
  font-weight: 400;
}
.ce_form .formbody .text {
  margin: 0;
}

/*!
	By André Rinas, www.andrerinas.de
	Documentation, www.simplelightbox.de
	Available for use under the MIT License
	Version 2.7.0
*/
body.hidden-scroll {
  overflow: hidden;
}

.sl-overlay {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: #fff;
  opacity: 0.7;
  display: none;
  z-index: 1035;
}

.sl-wrapper {
  z-index: 1040;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  position: fixed;
}

.sl-wrapper * {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.sl-wrapper button {
  border: 0 none;
  background: transparent;
  font-size: 28px;
  padding: 0;
  cursor: pointer;
}

.sl-wrapper button:hover {
  opacity: 0.7;
}

.sl-wrapper .sl-close {
  display: none;
  position: fixed;
  right: 30px;
  top: 30px;
  z-index: 10060;
  margin-top: -14px;
  margin-right: -14px;
  height: 44px;
  width: 44px;
  line-height: 44px;
  font-family: Arial, Baskerville, monospace;
  color: #000;
  font-size: 3rem;
}

.sl-wrapper .sl-counter {
  display: none;
  position: fixed;
  top: 30px;
  left: 30px;
  z-index: 1060;
  color: #000;
  font-size: 1rem;
}

.sl-wrapper .sl-navigation {
  width: 100%;
  display: none;
}

.sl-wrapper .sl-navigation button {
  position: fixed;
  top: 50%;
  margin-top: -22px;
  height: 44px;
  width: 22px;
  line-height: 44px;
  text-align: center;
  display: block;
  z-index: 10060;
  font-family: Arial, Baskerville, monospace;
  color: #000;
}

.sl-wrapper .sl-navigation button.sl-next {
  right: 5px;
  font-size: 2rem;
}

.sl-wrapper .sl-navigation button.sl-prev {
  left: 5px;
  font-size: 2rem;
}

@media (min-width: 35.5em) {
  .sl-wrapper .sl-navigation button {
    width: 44px;
  }
  .sl-wrapper .sl-navigation button.sl-next {
    right: 10px;
    font-size: 3rem;
  }
  .sl-wrapper .sl-navigation button.sl-prev {
    left: 10px;
    font-size: 3rem;
  }
}
@media (min-width: 50em) {
  .sl-wrapper .sl-navigation button {
    width: 44px;
  }
  .sl-wrapper .sl-navigation button.sl-next {
    right: 20px;
    font-size: 3rem;
  }
  .sl-wrapper .sl-navigation button.sl-prev {
    left: 20px;
    font-size: 3rem;
  }
}
.sl-wrapper.sl-dir-rtl .sl-navigation {
  direction: ltr;
}

.sl-wrapper .sl-image {
  position: fixed;
  -ms-touch-action: none;
  touch-action: none;
  z-index: 10000;
}

.sl-wrapper .sl-image img {
  margin: 0;
  padding: 0;
  display: block;
  border: 0 none;
  width: 100%;
  height: auto;
}

@media (min-width: 35.5em) {
  .sl-wrapper .sl-image img {
    border: 0 none;
  }
}
@media (min-width: 50em) {
  .sl-wrapper .sl-image img {
    border: 0 none;
  }
}
.sl-wrapper .sl-image iframe {
  background: #000;
  border: 0 none;
}

@media (min-width: 35.5em) {
  .sl-wrapper .sl-image iframe {
    border: 0 none;
  }
}
@media (min-width: 50em) {
  .sl-wrapper .sl-image iframe {
    border: 0 none;
  }
}
.sl-wrapper .sl-image .sl-caption {
  display: none;
  padding: 10px;
  color: #fff;
  background: rgba(0, 0, 0, 0.8);
  font-size: 1rem;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}

.sl-wrapper .sl-image .sl-caption.pos-top {
  bottom: auto;
  top: 0;
}

.sl-wrapper .sl-image .sl-caption.pos-outside {
  bottom: auto;
}

.sl-wrapper .sl-image .sl-download {
  display: none;
  position: absolute;
  bottom: 5px;
  right: 5px;
  color: #000;
  z-index: 1060;
}

.sl-spinner {
  display: none;
  border: 5px solid #333;
  border-radius: 40px;
  height: 40px;
  left: 50%;
  margin: -20px 0 0 -20px;
  opacity: 0;
  position: fixed;
  top: 50%;
  width: 40px;
  z-index: 1007;
  -webkit-animation: pulsate 1s ease-out infinite;
  animation: pulsate 1s ease-out infinite;
}

.sl-scrollbar-measure {
  position: absolute;
  top: -9999px;
  width: 50px;
  height: 50px;
  overflow: scroll;
}

.sl-transition {
  transition: -webkit-transform ease 200ms;
  -webkit-transition: -webkit-transform ease 200ms;
  transition: transform ease 200ms;
  transition: transform ease 200ms, -webkit-transform ease 200ms;
}

@-webkit-keyframes pulsate {
  0% {
    -webkit-transform: scale(0.1);
            transform: scale(0.1);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
    opacity: 0;
  }
}
@keyframes pulsate {
  0% {
    -webkit-transform: scale(0.1);
            transform: scale(0.1);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
    opacity: 0;
  }
}
@-webkit-keyframes splide-loading {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  to {
    -webkit-transform: rotate(1turn);
            transform: rotate(1turn);
  }
}
@keyframes splide-loading {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  to {
    -webkit-transform: rotate(1turn);
            transform: rotate(1turn);
  }
}
.splide--draggable > .splide__track > .splide__list > .splide__slide {
  -webkit-user-select: none;
  -ms-user-select: none;
  -moz-user-select: none;
       user-select: none;
}

.splide--fade > .splide__track > .splide__list {
  display: block;
}

.splide--fade > .splide__track > .splide__list > .splide__slide {
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  z-index: 0;
}

.splide--fade > .splide__track > .splide__list > .splide__slide.is-active {
  opacity: 1;
  position: relative;
  z-index: 1;
}

.splide--rtl {
  direction: rtl;
}

.splide--ttb > .splide__track > .splide__list {
  display: block;
}

.splide--ttb > .splide__pagination {
  width: auto;
}

.splide__container {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
}

.splide__list {
  margin: 0 !important;
  padding: 0 !important;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  will-change: transform;
}

.splide.is-active .splide__list {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
}

.splide__pagination {
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  display: -ms-inline-flexbox;
  display: -webkit-inline-box;
  display: inline-flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  margin: 0;
  width: 95%;
}

.splide__pagination li {
  display: inline-block;
  line-height: 1;
  list-style-type: none;
  margin: 0;
}

.splide {
  visibility: hidden;
}

.splide, .splide__slide {
  outline: none;
  position: relative;
}

.splide__slide {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  list-style-type: none !important;
  margin: 0;
}

.splide__slide img {
  vertical-align: bottom;
}

.splide__slider {
  position: relative;
}

.splide__spinner {
  -webkit-animation: splide-loading 1s linear infinite;
          animation: splide-loading 1s linear infinite;
  border: 2px solid #999;
  border-left-color: transparent;
  border-radius: 50%;
  bottom: 0;
  display: inline-block;
  height: 20px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 20px;
}

.splide__track {
  overflow: hidden;
  position: relative;
  z-index: 0;
}

html {
  scroll-behavior: smooth;
}

.invisible {
  display: none;
}

/* ##################################################### */
/* ############## Hauptmenu ############################ */
/* ##################################################### */
#mainnav {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 90;
  background-color: #00406d;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
  -webkit-transform: translate3d(0, 0, 0) scale(0.9);
          transform: translate3d(0, 0, 0) scale(0.9);
  overflow: auto;
  height: 100vh;
  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;
}
#mainnav.open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
  -webkit-transform: translate3d(0, 0, 0) scale(1);
          transform: translate3d(0, 0, 0) scale(1);
}
#mainnav ul {
  padding: 49px;
}
#mainnav ul li {
  border-bottom: 1px solid #adc7ea;
  padding: 0.3em 0;
}
#mainnav ul li a, #mainnav ul li strong {
  font-weight: 400;
  font-size: 1.8em;
  color: #FFFFFF;
}
@media (min-width: 1200px) {
  #mainnav ul li a, #mainnav ul li strong {
    font-size: 2.7em;
  }
}
#mainnav ul li a:hover, #mainnav ul li a.active, #mainnav ul li a.trail, #mainnav ul li strong:hover, #mainnav ul li strong.active, #mainnav ul li strong.trail {
  color: #adc7ea;
}
#mainnav ul li.last {
  border: none;
}
#mainnav ul li.submenu {
  padding-bottom: 1em;
}
#mainnav ul ul {
  padding: 0;
}
#mainnav ul ul li {
  border: none;
  padding: 0;
}
#mainnav ul ul li a, #mainnav ul ul li strong {
  font-size: 1em;
  padding-right: 1.4em;
  padding-bottom: 0;
  display: inline-block;
}
@media (min-width: 1200px) {
  #mainnav ul ul li a, #mainnav ul ul li strong {
    font-size: 1.1em;
  }
}

/* ##################################################### */
/* ############## Footer ############################### */
/* ##################################################### */
footer .inside nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (min-width: 900px) {
  footer .inside nav ul {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}
footer .inside nav ul li {
  /*&.last {
  	&:after {display: none}
  	a, strong {margin-right: 0;}
  }*/
}
footer .inside nav ul li a, footer .inside nav ul li strong {
  margin: 0 1em;
  display: inline-block;
  font-weight: 400;
}
footer .inside nav ul li:after {
  content: "|";
}
footer .inside nav ul li.first a, footer .inside nav ul li.first strong {
  margin-left: 0;
}
footer .inside .mod_cookiebarOpener a {
  margin: 0 0 0 1em;
}

/* ##################################################### */
/* ############## Sticky Header ######################## */
/* ##################################################### */
/* ##################################################### */
/* ############## Mobile Menu ########################## */
/* ##################################################### */
#mobilenav .mm-navbar__title {
  border-bottom: none;
}
#mobilenav a {
  border-bottom: none;
}

#mobilenav:not(.mm-menu) {
  display: none;
}

/* ##################################################### */
/* ############## Menü Trigger ######################### */
/* ##################################################### */
.menutrigger {
  cursor: pointer;
  position: absolute;
  top: 0.45em;
  left: -0.2em;
}
@media (min-width: 900px) {
  .menutrigger {
    display: none;
  }
}
.menutrigger span {
  color: #000000;
  font-size: 2.4em;
  padding: 0;
}

/* ##################################################### */
/* ############## Menu Trigger ####################### */
/* ##################################################### */
.menu-trigger {
  position: fixed;
  right: 16px;
  top: 16px;
  z-index: 100;
  background-color: #00406d;
  padding: 16px;
  cursor: pointer;
}
@media (min-width: 480px) {
  .menu-trigger {
    right: 32px;
    top: 32px;
  }
}
@media (min-width: 1200px) {
  .menu-trigger {
    right: 49px;
    top: 32px;
  }
}
@media (min-width: 1600px) {
  .menu-trigger {
    right: 72px;
    top: 49px;
  }
}
.menu-trigger .icon-cross, .menu-trigger .icon-menu {
  color: #FFFFFF;
  font-size: 2em;
}
.menu-trigger .icon-cross {
  display: none;
}
.menu-trigger.open .icon-menu {
  display: none;
}
.menu-trigger.open .icon-cross {
  display: block;
}

/* ##################################################### */
/* ############## Submenu ############################## */
/* ##################################################### */
/* ##################################################### */
/* ############## ToTop ################################ */
/* ##################################################### */
.totop {
  position: fixed;
  bottom: 16px;
  right: 16px;
  z-index: 85;
  color: #FFFFFF;
  font-size: 2em;
  border: none;
  text-decoration: none;
  background-color: #00406d;
  opacity: 0;
  -webkit-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
  padding: 8px 16px;
}
@media (min-width: 480px) {
  .totop {
    right: 32px;
    bottom: 32px;
  }
}
@media (min-width: 1200px) {
  .totop {
    right: 49px;
    bottom: 32px;
  }
}
@media (min-width: 1600px) {
  .totop {
    right: 72px;
    bottom: 49px;
  }
}
.totop:hover {
  color: #FFFFFF;
}
.totop.show {
  opacity: 1;
}
.totop.hide {
  opacity: 0 !important;
}

/* ##################################################### */
/* ############## Pagination ########################### */
/* ##################################################### */
.pagination {
  margin: 2em 49px 1em;
}
@media (min-width: 900px) {
  .pagination {
    margin: 2em 0 1em;
  }
}
.pagination ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.pagination ul li a, .pagination ul li strong {
  padding: 0.5em 0.8em;
  margin: 0 0.5em 0.5em 0;
  color: #000000;
  border: 1px solid #000000;
  display: block;
}
.pagination ul li a:hover, .pagination ul li a.active, .pagination ul li strong:hover, .pagination ul li strong.active {
  background-color: #e2e2e2;
}

/* ##################################################### */
/* ############## Teaser Menü ########################## */
/* ##################################################### */
nav {
  position: relative;
  z-index: 20;
}
nav.teaser {
  max-width: 1100px;
  margin: 0 auto;
  padding: 32px;
}
@media (min-width: 1200px) {
  nav.teaser {
    padding: 0 0 49px;
  }
}
nav.teaser ul {
  display: -ms-grid;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  grid-gap: 49px;
}
@media (min-width: 900px) {
  nav.teaser ul {
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  }
}
nav.teaser ul li a {
  background-color: #FFFFFF;
  display: block;
  height: 100%;
  color: #000000;
  border: none;
}
nav.teaser ul li a:hover {
  -webkit-box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.3);
          box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.3);
}
nav.teaser ul li a h3 {
  padding: 0.9em 32px 0.2em;
}
nav.teaser ul li a p {
  padding: 0.5em 32px;
  line-height: 1.6;
}

/* ##################################################### */
/* ############## Allgemein ############################ */
/* ##################################################### */
body {
  background-color: #e2e2e2;
}

/* ##################################################### */
/* ############## Wrapper, Grids und Textblöcke ######## */
/* ##################################################### */
#wrapper {
  min-height: 100vH;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  max-width: 2200px;
  margin: 0 auto;
  background-color: #F2F2F2;
}
.ce_text, .ce_headline {
  padding: 32px;
  max-width: 1100px;
  margin: 0 auto 3em;
  background-color: #FFFFFF;
  position: relative;
  z-index: 10;
}
@media (min-width: 1200px) {
  .ce_text, .ce_headline {
    padding: 49px;
  }
}
@media (min-width: 1600px) {
  .ce_text, .ce_headline {
    padding: 49px 72px;
  }
}
.ce_text.clear, .ce_headline.clear {
  background-color: transparent;
  padding: 0 49px !important;
}

@media (min-width: 900px) {
  .text {
    margin: -3em auto 3em;
    position: relative;
    z-index: 10;
  }
  .text + .text {
    margin-top: 3em;
  }
}
@media (min-width: 1200px) {
  .text {
    margin: -4em auto 3em;
  }
}
@media (min-width: 1600px) {
  .text {
    margin: -5em auto 3em;
  }
}

@media (min-width: 1200px) {
  .grid-2 {
    max-width: 1100px;
    margin: 0 auto 3em;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 72px 1fr;
    grid-template-columns: 1fr 1fr;
    grid-gap: 72px;
  }
}

/* ##################################################### */
/* ############## Header ############################### */
/* ##################################################### */
header {
  background-color: #FFFFFF;
}
@media (min-width: 900px) {
  header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 50;
    background-color: transparent;
  }
}
header .inside {
  max-width: 2200px;
  margin: 0 auto;
}
header .inside .logo a {
  border: none;
  display: block;
}
header .inside .logo a img {
  max-width: 250px;
  margin: 24px 140px 32px 32px;
  -webkit-filter: drop-shadow(0 0 20px rgb(255, 255, 255));
          filter: drop-shadow(0 0 20px rgb(255, 255, 255));
}
@media (min-width: 480px) {
  header .inside .logo a img {
    margin: 49px 32px;
  }
}
@media (min-width: 1200px) {
  header .inside .logo a img {
    margin: 72px 49px;
  }
}
@media (min-width: 1600px) {
  header .inside .logo a img {
    margin: 72px;
    max-width: 280px;
  }
}

/* ##################################################### */
/* ############## Footer ############################### */
/* ##################################################### */
footer {
  background-color: #FFFFFF;
  margin: auto 0 0;
  padding: 32px 32px 144px;
}
footer .inside {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
footer .inside .footercontent {
  -webkit-box-flex: 1;
      -ms-flex: 1 100%;
          flex: 1 100%;
}
@media (min-width: 1024px) {
  footer .inside {
    padding: 3em 49px;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  footer .inside .footercontent {
    -webkit-box-flex: 1;
        -ms-flex: auto;
            flex: auto;
  }
  footer .inside nav {
    margin-left: auto;
  }
}

/* ##################################################### */
/* ############## Bilder allgemein ##################### */
/* ##################################################### */
.ce_image figure {
  margin: 0;
}
.ce_image.logo figure {
  background-color: #FFFFFF;
  padding: 2em;
}

.ce_text figure, .accordion figure {
  margin: 0 0 1em;
}
@media (min-width: 900px) {
  .ce_text figure.float_right, .accordion figure.float_right {
    float: right;
    margin: 5px 0 1em 2em;
  }
  .ce_text figure.float_left, .accordion figure.float_left {
    float: left;
    margin: 5px 2em 1em 0;
  }
}
.ce_text:before, .ce_text:after, .accordion:before, .accordion:after {
  content: " ";
  display: table;
}
.ce_text:after, .accordion:after {
  clear: both;
}

/* ##################################################### */
/* ############## Bildergalerien ####################### */
/* ##################################################### */
.ce_gallery {
  margin: 49px 0;
}
.ce_gallery ul {
  display: -ms-grid;
  display: grid;
  grid-gap: 49px;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  list-style: none;
  padding: 0;
}
@media (min-width: 900px) {
  .ce_gallery ul {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  }
}
@media (min-width: 1200px) {
  .ce_gallery ul {
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  }
}
.ce_gallery ul li figure a {
  display: block;
  overflow: hidden;
  border: none;
}
.ce_gallery ul li figure a img {
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.ce_gallery ul li figure a img:hover {
  opacity: 0.7;
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
}
.ce_gallery.logo ul li figure {
  background-color: #FFFFFF;
  padding: 1em;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.ce_gallery.logo ul li figure figcaption {
  margin-top: auto;
}

figcaption {
  font-size: 0.8em;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  font-weight: 400;
  padding-top: 1em;
}

/* ##################################################### */
/* ############## Slider ############################### */
/* ##################################################### */
@-webkit-keyframes kenburns {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}
@keyframes kenburns {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}
.headerslider {
  overflow-y: hidden;
}
.headerslider .ce_text {
  max-width: 100%;
}
.headerslider .slider-control {
  display: none;
}
.headerslider .splide__track {
  position: relative;
}
.headerslider .splide__track .splide__list {
  max-width: 100%;
}
.headerslider .splide__track .splide__list .splide__slide {
  background-color: #FFFFFF;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin: 0;
}
@media (min-width: 900px) {
  .headerslider .splide__track .splide__list .splide__slide {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    padding: 0;
  }
}
.headerslider .splide__track .splide__list .splide__slide figure {
  margin: 0;
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
  overflow: hidden;
}
.headerslider .splide__track .splide__list .splide__slide figure img {
  -webkit-animation: 20s ease-out 0s 1 kenburns;
          animation: 20s ease-out 0s 1 kenburns;
  -webkit-transform-origin: 50%;
          transform-origin: 50%;
  -webkit-animation-direction: alternate;
          animation-direction: alternate;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
@media (min-width: 900px) {
  .headerslider .splide__track .splide__list .splide__slide figure {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    position: relative;
    width: 60%;
  }
  .headerslider .splide__track .splide__list .splide__slide figure:before {
    content: "";
    display: block;
    width: 100px;
    height: 100%;
    background-image: url(../../files/Layout/img/Triangle.svg);
    position: absolute;
    top: 0;
    left: 0;
    background-size: 100% 100%;
    z-index: 70;
  }
}
.headerslider .splide__track .splide__list .splide__slide p {
  color: #00406d;
  line-height: 1.4;
  padding: 16px 0 0;
  text-align: center;
  margin: 0;
}
@media (min-width: 900px) {
  .headerslider .splide__track .splide__list .splide__slide p {
    padding: 144px 32px 32px 32px;
    width: 40%;
    text-align: left;
    font-size: 1.2em;
  }
}
@media (min-width: 1200px) {
  .headerslider .splide__track .splide__list .splide__slide p {
    padding: 72px 49px 32px;
    font-size: 1.4em;
  }
}
@media (min-width: 1600px) {
  .headerslider .splide__track .splide__list .splide__slide p {
    padding: 72px 72px 32px;
    font-size: 1.4em;
  }
}

/* ##################################################### */
/* ############## Actionbox ############################ */
/* ##################################################### */
.action {
  margin-top: 2em;
}
.action .header {
  letter-spacing: 0.3px;
  color: #00406d;
  font-size: 1.5rem;
  margin-bottom: 0;
  text-align: center;
}

.actionbox {
  background-color: #00406d;
  color: #FFFFFF;
}
@media (min-width: 1200px) {
  .actionbox {
    margin-bottom: -2em;
    position: relative;
    z-index: 20;
  }
}
.actionbox a {
  color: #FFFFFF;
  text-decoration: underline;
}
@media (min-width: 900px) {
  .actionbox .inside {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 49px 1fr;
    grid-template-columns: 1fr 1fr;
    grid-gap: 49px;
  }
}
@media (min-width: 1600px) {
  .actionbox .inside {
    grid-gap: biggap;
  }
}
.actionbox .content span {
  padding-right: 0.6em;
}

/* ##################################################### */
/* ############## Links ################################ */
/* ##################################################### */
.ce_hyperlink {
  text-align: center;
}

/* ##################################################### */
/* ############## Blöcke ############################### */
/* ##################################################### */
.ce_downloads li a, .ce_download p a, summary {
  position: relative;
  max-width: 1100px;
  margin: 0 auto;
  color: #000000;
  display: block;
  background-color: #FFFFFF;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
  border: none;
  padding: 32px 72px 32px 32px;
  margin: 10.6666666667px auto;
  line-height: 1.2;
  cursor: pointer;
  list-style: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.ce_downloads li a:hover, .ce_download p a:hover, summary:hover {
  background-color: #d8d8d8;
}
@media (min-width: 1200px) {
  .ce_downloads li a, .ce_download p a, summary {
    padding: 32px 49px;
  }
}
@media (min-width: 1600px) {
  .ce_downloads li a, .ce_download p a, summary {
    padding: 32px 72px;
  }
}
.ce_downloads li a:after, .ce_download p a:after, summary:after {
  position: absolute;
  right: 0;
  top: 35%;
  padding-right: 32px;
  font-size: 1.3em;
}
@media (min-width: 1200px) {
  .ce_downloads li a:after, .ce_download p a:after, summary:after {
    padding-right: 49px;
  }
}
@media (min-width: 1600px) {
  .ce_downloads li a:after, .ce_download p a:after, summary:after {
    padding-right: 49px;
  }
}

/* ##################################################### */
/* ############## Downloads ############################ */
/* ##################################################### */
.ce_downloads ul {
  list-style: none;
  margin: 0 0 3em;
  padding: 0;
}

.ce_downloads li .size, .ce_download p .size {
  font-size: 0.7em;
  color: color1;
  padding: 0 1em;
}
.ce_downloads li a:after, .ce_download p a:after {
  content: "\e926";
  color: #333;
}
.ce_downloads li.ext-pdf a:after, .ce_download p.ext-pdf a:after {
  content: "\eadf";
}
.ce_downloads li.ext-jpg a:after, .ce_download p.ext-jpg a:after {
  content: "\e927";
}
.ce_downloads li.ext-xlsx a:after, .ce_download p.ext-xlsx a:after {
  content: "\eae2";
}
.ce_downloads li.ext-docx a:after, .ce_download p.ext-docx a:after {
  content: "\eae1";
}

.ce_download {
  margin: 2em 0 0.5em;
}
.ce_download p {
  margin: 0;
}

.ce_download + .ce_download {
  margin-top: 0;
}

/* ##################################################### */
/* ############## Akkordeon ############################ */
/* ##################################################### */
[data-css-icon] {
  --animdur: .3s;
  --loading-animdur: 0.8s;
  --animtf: ease-in;
  --bdw: 2px;
  --bdrs: 50%;
  --bgc: transparent;
  --c: currentcolor;
  --dots-bgc: silver;
  --dots-size: 0.5rem;
  --icon-size: 1rem;
  --size: 2.5rem;
  cursor: pointer;
  position: relative;
  display: block;
}
[data-css-icon] i {
  background-color: var(--bgc);
  border-radius: var(--bdrs);
  position: absolute;
  right: -1.3em;
  top: 45%;
  -webkit-transition: background-color var(--animdur) var(--animtf);
  transition: background-color var(--animdur) var(--animtf);
}
@media (min-width: 900px) {
  [data-css-icon] i {
    right: -1em;
  }
}
@media (min-width: 1200px) {
  [data-css-icon] i {
    right: 1.4em;
  }
}
@media (min-width: 1600px) {
  [data-css-icon] i {
    right: 0.2em;
  }
}
[data-css-icon] i::after, [data-css-icon] i::before {
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
  -webkit-transition: all var(--animdur) var(--animtf);
  transition: all var(--animdur) var(--animtf);
  --w: calc(var(--icon-size) * 1.4142135623730950488016887242097);
  background: var(--c);
  content: "";
  height: var(--bdw);
  position: absolute;
  width: var(--w);
}
[data-css-icon] i::before {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

details {
  margin: 32px auto 72px;
  padding: 0;
  height: var(--collapsed);
  overflow: hidden;
  -webkit-transition: height 300ms cubic-bezier(0.4, 0.01, 0.165, 0.99);
  transition: height 300ms cubic-bezier(0.4, 0.01, 0.165, 0.99);
}
details[open] {
  height: var(--expanded);
}
details[open] > summary {
  background-color: #d8d8d8;
}
details > summary {
  margin-bottom: 0;
}
details > summary::marker {
  display: none;
}
details > summary::-webkit-details-marker {
  display: none;
}
details .accordion > * {
  margin-right: 0;
  margin-left: 0;
}

[open] > summary > [data-css-icon*=plus] i::after {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

[open] > summary > [data-css-icon*=plus] i::before {
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
}

details + details {
  margin-top: 1em;
}

/* ##################################################### */
/* ############## Inside-Akkordeon ##################### */
/* ##################################################### */
.insidewrap .insidetoggle {
  border-bottom: 1px solid #000000;
  position: relative;
  cursor: pointer;
  padding-bottom: 0.5em;
  margin-bottom: 2em;
}
.insidewrap .insidetoggle:after {
  content: "+";
  position: absolute;
  right: 0;
  top: 0;
  font-size: 1.3em;
}
.insidewrap .insidetoggle.active:after {
  content: "-";
}
.insidewrap .insidetogglecontent {
  display: none;
}
.insidewrap .insidetogglecontent.show {
  display: block;
}

/* ##################################################### */
/* ############## COOKIE-BAR ########################### */
/* ##################################################### */
.mod_cookiebarOpener {
  display: inline;
}

.contao-cookiebar {
  padding: 0;
}
.contao-cookiebar .cc-inner {
  border-radius: 0;
  width: 100%;
  padding: 2em;
  position: relative;
  overflow: hidden;
  max-width: 850px;
}
.contao-cookiebar .cc-inner:before {
  content: "\e903";
  right: -30px;
  top: -25px;
  font-size: 14em;
  opacity: 0.05;
  position: absolute;
}
.contao-cookiebar .cc-inner a {
  color: #FFFFFF;
  font-size: 1em;
  text-decoration: none;
  -webkit-transition: all 0.3s linear 0s;
  transition: all 0.3s linear 0s;
}
.contao-cookiebar .cc-inner a:hover {
  ´color: #d8d8d8;
}
.contao-cookiebar .cc-inner .cc-group {
  border: none;
  color: #000000;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.contao-cookiebar .cc-inner .cc-group input {
  position: absolute;
}
.contao-cookiebar .cc-inner .cc-group .cc-detail-btn {
  width: auto;
  position: static;
  padding-right: 0;
  margin-right: 0;
}
.contao-cookiebar .cc-inner .cc-group label {
  margin: 0;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  font-weight: normal;
}
.contao-cookiebar .cc-inner .cc-group .toggle-group {
  width: 100%;
}
.contao-cookiebar .cc-inner .cc_info {
  margin-top: 0;
}
.contao-cookiebar .cc-inner .cc-cookies {
  background: none;
  width: 100%;
}
.contao-cookiebar .cc-inner .cc-cookies .cc-cookie .cc-cookie-info {
  background: none;
  padding: 0;
  border: 0;
}
.contao-cookiebar .cc-inner .cc-footer {
  background: none;
}
.contao-cookiebar .cc-inner button {
  -webkit-transition: all ease-in-out 0.3s;
  transition: all ease-in-out 0.3s;
}
.contao-cookiebar .cc-inner button.cc-btn {
  margin: 0.5em 0 0;
  border: none;
  border-radius: 0;
  padding: 1em 2em;
  background-color: #d8d8d8;
  color: #000000;
}
.contao-cookiebar .cc-inner button.cc-btn.success {
  background-color: #d8d8d8;
}

.ccb-element-blocker {
  max-width: 1400px;
  margin: 0 auto;
  padding: 49px 72px;
  color: #fff;
}
