@keyframes headeranimationin {
    from   {opacity: 0; }
    to {opacity: 1;}
}

@keyframes headeranimationout {
    0%   {opacity: 1;}
    25%  {opacity: 0;}
    50%  {opacity: 0;}
    100% {opacity: 0;}
}

body,
html {
    font-family: "Roboto"; 
    font-weight: 400;
    font-size: 18px;
    height: 100%;    
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.mainheader {top: 0; left:0; right: 0; padding:0; background: linear-gradient(180deg, rgba(2,0,36,0.7) 0%, rgba(255,255,255,0) 100%); z-index: 10; color: #fff;}

.shrink #logo img {width: 220px;}

/* Topmenu */
.firstmenu {background: #EAE4D1; color: #000; padding: 5px; }



.topmenu {font-family: "Raleway", sans-serif; z-index: 15; background-color: rgba(0,0,0,0.4);}

.breadcrumb {font-family: "Raleway", sans-serif; font-size: 16px;}

.mainmenu {font-family: "Raleway", sans-serif; font-size: 23px;}

.homeboxes {margin-top: -150px; position: relative; z-index: 20;}

.homeboxes .container-col {
  background-color: #FBD40B;
  border-radius: 20px;
  padding: 20px 40px;
  font-family: "Raleway", sans-serif;
  font-size: 20px;
  display: flex;             
  flex-direction: column;    
  flex: 1;                   
}

.homeboxes .container-col .push-bottom {
  margin-top: auto;          /* schiebt den Button runter */
}

.homeboxes .fm_button { margin-top: auto; background-color: #000;}
.homeboxes .fm_button:hover {background-color: #444;}


/*mobilemenu*/
mm-burger {padding: 10px; }
mm-burger {
  --mb-bar-width: 50px;
  --mb-bar-height: 5px;
  --mb-bar-spacing: 10px;
  transition: all 0.3s ease;
}
#mm-search .input-row {width:100%; margin-top: 8px;}
#mm-search input {color: #fff;}
.mm-menu--position-bottom, .mm-menu--position-left-front, .mm-menu--position-right-front, .mm-menu--position-top {z-index: 110 !important;}
.mmenu-close-button {padding: 15px; font-size: 28px; width: 100%; text-align: right;}

#mm-search {width: 100%;
  padding: 0 25px;
  background-color: #888;}
#mm-search input {background-color: #fff; color: #000;}
#mm-search input::placeholder {
  color: #888;
  opacity: 1; /* Firefox */
}

#mm-search input::-ms-input-placeholder { /* Edge 12 -18 */
  color: #888;
}

/* Slidercontent */

.slidercontent {position: absolute; top: 0; left: 0; right: 0; z-index: 20;}

.topstripe {
  display: block;
  height: 30px;
  background-color: #FBD40B;
  position: relative;
  margin-top: -30px;
}

#logo img {padding: 15px 0; width: 100%; transition: all 0.4s ease;}

.fade-in {opacity: 1 !important;}

.img-responsive {
  max-width: 100%;
  height: auto;
}

.ce-bodytext ul {list-style: none;}
.ce-bodytext ul li::before {
    content: "\F287\A0";
    margin-left: -25px;
    margin-right: 8px;
    vertical-align: 1px;
    color: #E8CB43;
    font-family:'bootstrap-icons';
    font-size: 10px;
}

   
div.ce-gallery[data-ce-columns="2"] .ce-column {width: 49%;}
.ce-gallery img, .ce-gallery figure {max-width: 100%; height: auto !important;}

.breaker [class*="col-"] h1 {background-color: transparent; color: #000; font-family: "Roboto";  hyphens: auto; font-size: 30px; font-weight: normal; margin-bottom: 15px;}


.breaker h1 {background: none; width: 100%; color: #000}
.breaker h1:before {display:none;}
h1 {font-family: "Raleway"; color: #000; hyphens: auto; font-size: 35px; margin-top:30px; margin-bottom:20px; }
h2 {font-family: "Raleway"; color: #000; hyphens: auto; font-size: 26px; margin-top:30px; margin-bottom:20px; }
h3 {color: #000; font-family: "Open Sans"; font-weight:300; font-size: 20px; margin:25px 0px 20px;}
h4 {color: #25578f; font-family: "Open Sans"; font-size:18px; font-weight:300;}
h5 {color: #B8CCE4; font-family: "Open Sans"; font-weight:300;}

.container, .container-fluid {position: relative;}

.mainwrapper {transition: all ease 0.5s; position: relative; overflow: hidden;}
.main { padding-top: 0px;}

.row {position: relative;}


.transition  { -webkit-transition: all 0.4s ease-in-out;
   -moz-transition: all 0.4s ease-in-out ;
   -ms-transition: all 0.4s ease-in-out ;
   -o-transition: all 0.4s ease-in-out ;
   transition: all 0.4s ease-in-out ; }

#slidernav.shrink {background-color: rgba(0,0,0,0.5);}
#slidernav.shrink img {width: 100px; padding: 5px 0;}
.opacity {background-color: rgba(254,254,254,1);}


.object-fit-cover {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    height: 100%;
    width: 100%;
    object-fit: cover;
}


/* FM CEs */
.breaker {
  width: 100svw;
  position: relative;
  left: calc(-1 * (100svw - 100%) / 2);
}

.breaker .background {   
    position: absolute;
    top: 0;
    left: 0; 
    right: 0; 
    bottom: 0;
}
.coverbg {background: no-repeat center center;   -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover; }

.ce-background .twocol.frame {background-color: transparent;}
.ce-background .container-col {padding: 0 50px; background-color: rgba(254,254,254,0.8); border-radius: 0.375rem;}
.breaker .onecol {background-color: #fff; padding: 50px;}
.breaker .breakercontent {padding: 15px 0;}

.breaker .container-col {padding: 50px; padding-top:10px; height: 100%;}
.twocol .container-col {position: relative;}
.twocol .container-col .colbg {position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: -1;}

.breaker .container {position: relative; z-index: 1;}

.breakercontent .container {padding-left: 0; padding-right: 0;} 

.orange-bg {color: #000; font-size: 1.2rem;}
.orange-bg blockquote {color: #000;}
.orange-bg .background {background-color: rgb(147,181,63); color: #000;}

.lightorange-bg .background {background-color: #FEE2BA; color: #000;}
.red-bg .background {background-color: #eee; color: #fff;}
 
 
 .orange-bg h1, .lightorange-bg h1 {color:#000; margin-bottom:10px;}
 .orange-bg h2, .lightorange-bg h2 {color:#fff; font-size:25px; margin-bottom:10px;}
 .orange-bg a, .lightorange-bg a {color:#000; text-decoration:underline;}
 .red-bg h1 {color:#000 !important;}
 
  .red-bg p {}
 .red-bg h1 {}
 .red-bg h1, h2, h3 {}
 
.centerright .frame-indent {height: 100%; margin-left: 15%;
margin-right: 0;} 
.centerright .frame-indent .ce-center {height: 100%; display: flex !important;} 
.centerright .frame-indent .ce-center .ce-gallery {align-self: center !important;}

.swiper .row-eq-height {
align-items: center;
  justify-content: center;
  display: flex;
}

.breaker.sliding {
border: 3px solid #25578F;
  border-radius: 50px;
}

.breaker .swiper-button-next, .breaker .swiper-button-prev {color: #25578F !important;}
/* Contentbox */


.col-md-6 .contentbox div[class^="col-"], .col-md-4 .contentbox div[class^="col-"] {width: 100%;}
.contentbox .child {position: absolute; top: -5px; left: -5px; right: -5px; bottom: -5px;}
.contentbox .parent {position: absolute;
top: 0;
right: 15px;
bottom: 0;
left: 15px;
overflow: hidden;
}

.contentbox.imagefloat .parent{left: 50%; margin-left: -50vw; right: 0px;}
.contentbox.imagefloat .right .parent
{width: 50vw; 
 left: 50vw; 
}

.ce-border img {border-radius: 50%; border-color: transparent;}

.imagefloat .fm_button {
margin: auto;
color: #fff !important;
border: 1px solid #fff;
margin-top: auto;
}
.imagefloat .fm_button:hover {color: #fff !important; background-color: #FBC07E !important;}

.parent img {  position: absolute;
  top: 50%;
  left: 50%;

  width: auto;
  height: auto;

  max-height: none;
  max-width: none;

  min-height: 100%;
  min-width: 100%;
 
  transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);}

.contentbox .boxtext {padding: 15px 35px;}
.contentbox .button {width: 100%;}

/* Slider */
.object-fit-cover {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    height: 100%;
    width: 100%;
    object-fit: cover;
    margin-left: -1px;
}

.sliderwrapper .swiper {
    height: 75vh;
    position: relative;
    min-height: 450px;
}

.content-header {
    height: 30vh;
    position: relative;
    min-height: 200px;
}

.sliderwrapper .claim .row {margin:0;}
.sliderwrapper  .claim {position: absolute;
                        width: 100%;
top:50%;
left: 50%;
transform: translateX(-50%) translateY(-50%);
font-weight: 300;
animation-duration: 0.6s; animation-fill-mode: forwards;
z-index: 100;
}

.sliderwrapper .claim h1, .sliderwrapper .claim h2 {
    font-family: 'Raleway', sans-serif;
    text-align: right; 
    margin:0; 
    padding:0; 
    color: #444; 
 
    font-size: 50px;

    text-transform: uppercase;
    hyphens: auto;
    line-height: 1.2;
    background-color: rgba(255,255,255,0.8);
    display: inline-block;
    min-width: 60vw;
    width:auto;
    padding: 10px 30px 10px 10px;
    border-top-right-radius: 25px;
    border-bottom-right-radius: 25px;
 }

 .sliderwrapper .claim h2 {
     background-color: #FCD300;
     color: #000;
     margin-top: 15px;
 }
 
.sliderwrapper  .claim h3 {text-align: center; margin:0; padding:0; color: #fff; font-weight: normal; font-size: 30px; font-family: "Raleway", sans-serif; font-weight: normal; margin-top: 50px;hyphens: auto; }
.sliderwrapper  .claim a {text-align: center; background-color: rgba(37, 87, 143,0.8); color: #fff; text-decoration: none; padding: 5px 20px; border-radius: 5px;}

.sliderwrapper .container {position:relative;}
 
.content-header {min-height: 70vh;}

.btn-default {
   color: #fff;
   background: #000;
   margin-top:20px;
   padding:5px;
   width:130px;
   transition: background ease 0.3s;
}
 

.fm_button {text-align: center;
display: block;
margin: auto;
margin-top: 15px;
position: relative;
width: 200px;
border-color: transparent !important;
border-radius: 5px;}

.fm_button {
  text-align: center;
  display: block;
  width: 200px;
  border-color: transparent !important;
  margin-top: 15px;   
}


.btn-default:hover {background-color: #000; color:#FFF;}

   
 textarea.form-control {height: 180px;}
.btn-primary { color: #ffffff; background-color: #000; border-color: #000; text-align:center!important;}
.btn-primary:hover { background-color: #000; color:#FFF; border-color: #25578f; text-align:center!important;}


.ce-textpic {position: relative;}



 .frame-type-uploads h1 {background-color: #5C605C; color: #FFF!important; padding: 2px 10px; margin-bottom: 0px !important; margin-top: 8px; font-weight: normal; font-size: 18px; }
 .ce-uploads li a {color: #000; text-decoration:none;}
 .ce-uploads li { padding: 5px 5px; margin: 4px 0; background:#e8ca3b;}
.ce-uploads img {vertical-align: middle;
display: inline-block;
float: none;
padding-right: 0;}
.ce-uploads span {display:inline-block; hyphens: auto;}
.ce-uploads .col {align-items: center;
display: flex;
flex: 1;}
 
  hr {border-top: 1px solid #dddddd;}
  td {padding:5px;}
  tr {border-bottom: 1pt solid #DDDDDD;}
 .extra {margin-bottom:5px; margin-top:9px;} 
 
 
 
 label {font-weight:bold; padding: 25px 0px 5px 0px}


.ce-uploads-description {font-style: italic; margin-top:3px;}


footer {background-image: url('/fileadmin/template/grafiken/footerbg.jpg'); background-size: cover; padding: 50px 0; color:#fff; font-family: 'Raleway', sans-serif; font-size: 20px;}
footer ul {margin-bottom: 0;  list-style: none;}
footer ul a {color: #fff;}
footer a {color: #fff!important; text-decoration:none}
footer ul a:hover {color: #E8CB43!important; text-decoration: none;}
footer ul li::before {
  content: "\F285\A0";
  margin-left: -25px;
  vertical-align: -2px;
  color: rgb(232,203,67);
  font-family: 'bootstrap-icons';
  font-size: 14px;
}
footer h1,footer h2, footer h3 {color: #fff;}
#footertop {width: 100%;
  height: fit-content;
  height: 85px;}
.back-to-top-icon {
  width: 35px;
  height: 35px;
  color: #fff;
}

.back-to-top:hover {
  opacity: 60%;
}

.back-to-top {
  position: fixed;
  right: 2rem;
  bottom: 2rem;
  border-radius: 100%;
  background: #25578f;
  padding: 0.5rem;
  border: none;
  cursor: pointer;
  opacity: 100%;
  transition: opacity 0.5s;
  z-index: 100;
}

.hidden {
  opacity: 0%;
}

/* Suchfeld */
.expandable-search__btn {background: none;}

/* Social */
.social {margin: auto 0; font-size: 20px;}
.social a {margin-right: 15px;}
.social a {color: #000;}
.mm-navbar .fa, .mm-navbar .fab {font-size: 24px;}
/* Textstyles */

.blue-bg {background-color: #25578F;}
.blue-bg h1,h2,h3,a {color: #fff;}
.yellow-bg {background-color: #ecce3d;}
.yellow-bg h1,h2,h3,a {color: #000;}
.breaker .frametop {  }
.breaker .framebottom { }
.breaker .frametop img {margin-top: -2px;}
.breaker .framebottom img {margin-bottom: -2px;}



.news-list-item {font-family: "Roboto", sans-serif;}
.news-list-view.sliding {padding-left: 80px; padding-right: 80px; position:relative;}
.news-list-item .teaser {margin-top: 10px; flex: 1;}
.news-list-view .pagination {margin: 25px 0; justify-content: center;}
.news-list-item .lead {font-size: 20px;}
.news-list-item .teaser h3 a {color: #000; text-decoration: none;}
.news-list-item .teaser h3 {font-size:28px; font-family: "Roboto", sans-serif; margin: 10px 0;}
.news-list-item a.btn-read-more {margin-left: auto;}
.news-list-item img {border-radius: .375rem .375rem 0 0;}
.news-list-item .teaser {border-radius: 0 0 .375rem .375rem;} 
.news-list-item .news-button {margin-top: auto;}
.news-list-item .date,.news-list-item .content  {background-color: rgba(254,254,254,0.8); flex:1; align-items: center;}
.news-list-item .date {border-radius: 15px 0 0 15px; padding: 0 25px; text-align: center; padding-top: 10px;}
.news-list-item .content {border-radius: 0 15px 15px 0; padding: 0 25px;}
.news-list-item .day {display: block; width: 100%; font-size: 28px; font-family: "Roboto", sans-serif; }
.news-list-view a {text-decoration: none;}
.news-list-view a:hover {text-decoration: none; color: #000;}
.news-list-view a:hover > .news-list-item .date, .news-list-view a:hover > .news-list-item .content {background-color: #fff;}
.news .article .news-img-wrap a {
	padding: 0px;
	border: none;
}
.news-list-view {padding: 5px 0;}

.news .article .news-img-wrap a img {border-radius: .375rem; max-width: 100%;}

.news-single .article .news-img-wrap {
	float: right;
	width: auto;
	margin: 0 0 0 25px;
}
.newsbutton {font-family: "Roboto", sans-serif; font-size: 18px; width: 250px; background-color: #000; }
.newsbutton:hover {background-color: #444;}
.news .page-item.active .page-link {
  z-index: 3;
  color: #fff;
  background-color: #000;
  border-color: #000;
}
.news .page-link {color: #000;}

.accordion button.accordion-trigger {
    border-radius: 5px;
}
.accordion .ka-content {border-radius: 0 0 5px 5px; transform: translateY(-5px);}

.accordion button.accordion-trigger:hover {background: #000 !important; color:#fff !important;}
.accordion button.accordion-trigger {background: #fcd300 !important; color:#000 !important;}

.parvus__overlay {
	background-color: rgba(254,254,254,1) !important;
}

/* Container Styles */
.newsletter_col .container-col{background-color: rgba(254,254,254,0.9);}
.ce-bodytext a {color:#000}

/* a11y */
.visible-hidden {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
    background-color: #366b94;
    color: #fff !important;
}

.visible-hidden:focus {
    clip: auto;
    height: auto;
    overflow: auto;
    position: absolute;
    width: auto;
}

#language {list-style: none; display:inline-block; margin: 0;}
#language img {height: 20px; width: 20px; margin: 3px;}
#language img.el-active {height: 26px; width: 26px; margin: 0;}

.topmenu #language {position: absolute;
right: 15px;
top: 10px;
display: none;}

.topmenu #language img {filter: invert(100);}
#m-toplogo {position: absolute;
top: 0;
left: 50%;
transform: translateX(-50%);
margin-top: 10px;
opacity: 0;
display:none;}

.tiles div[class*="col-"] {padding:5px; position:relative;}


.tiles .col-md-3 img {
  width: 100%;
  height: 300px;
  object-fit: cover;
}
.tiles .col-md-6 img {
  width: 100%;
  height: 300px;
  object-fit: cover;
}

.tiles a {position: absolute;
right: 5px;
bottom: 5px;
top: 5px;
left: 5px;
background-color: rgba(0,0,0,0);
transition: all ease 0.3s;}

.tiles a:hover {background-color: rgba(0,0,0,0.5)}

.tiles a span {position: absolute;
bottom: 0;
right: 0;
background-color: #366b94;
color: #fff;
padding: 5px 15px;
font-size: 18px;
border-radius: 5px 0 0 0;
}

ul.tx-indexedsearch-browsebox {
    padding-left: 0;
    list-style: none;
    margin-top: 25px;
}



.tx-indexedsearch-browsebox li {display:inline-block;}
 .tx-indexedsearch-browsebox li a {
    position: relative;
    display: block;
    padding: 0.5rem 0.75rem;
    margin-left: -1px;
    line-height: 1.25;
    color: #000;
    background-color: #fff;
    border: 1px solid #000;
}
.tx-indexedsearch-search-submit, .tx-indexedsearch-form {display:inline-block;}
#tx_indexedsearch legend{display: none;}
.tx-indexedsearch-searchbox {margin-bottom: 15px;}
li.tx-indexedsearch-browselist-currentPage a {background-color: #366b94; color: #fff;}
.tx-indexedsearch-browsebox li:first-child a
 {
    margin-left: 0;
    border-top-left-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
}
.tx-indexedsearch-browsebox li:last-child a
 {
    margin-left: 0;
    border-top-right-radius: 0.25rem;
    border-bottom-right-radius: 0.25rem;
    border-left: none;
}
.tx-indexedsearch-description strong {color: #c31924;}

.searchbar {position: absolute;
    top:15px;
right: 15px;
z-index: 100;
transition: all 0.3s ease;
display: flex;}

#el {padding: 3px 0px 0px 15px;}

.bi-el:before {
display: inline-block !important;
content: '';
background-image: url('/fileadmin/template/grafiken/Icons/el-active.svg');
background-size: 30px 30px;
height: 30px;
width: 30px;
opacity: 0.8;
}

.searchbar .expandable-search__btn {color: #fff; background-color: rgba(0,0,0,0.5);}
.searchbar .expandable-search__btn:hover {background-color: rgba(0,0,0,0.5) !important;}
.searchbar .expandable-search__btn:focus {background-color: rgba(0,0,0,0.5) !important;}


.shrink .searchbar {opacity: 0; pointer-events: none;}

.menusubpages a {
    display: inline-block;
    background-color: rgba(254,254,254,0.8);
    transition: all 0.3s ease;
    padding: 25px;
    margin: 5px;
    width: 100%;
    border-radius: 15px;
    text-decoration: none;
    font-family: "Roboto", sans-serif;
    position: relative;
}

.menusubpages a:after {content:"\F285"; position: absolute; right: 5px; font-family: "bootstrap-icons"; font-size: 36px; top: 50%; transform: translateY(-50%); font-weight: bold;}

.menusubpages a:hover {background-color: rgba(254,254,254,1); color: #000;}

.menusubpages .header {font-size: 24px;}
.menusubpages span {font-size: 30px;}

.gallery {
  width: 100%;
  max-width: 620px;
  margin: 40px auto;
}
.gallery-slider {
  width: 100%;
  height: auto;
  margin: 0 0 10px 0;
}
.gallery-slider .swiper-slide {
  width: auto;
  height: 400px;
  background-color: #fff;
}
.gallery-slider .swiper-slide img {
  display: block;
  width: auto;
  height: 100%;
  margin: 0 auto;
}
.gallery-thumbs {
  width: 100%;
  padding: 0;
  overflow: hidden;
}
.gallery-thumbs .swiper-slide {
  width: 100px;
  height: 100px;
  text-align: center;
  overflow: hidden;
  opacity: 0.1;
}
.gallery-thumbs .swiper-slide-active {
  opacity: 1;
}
.gallery-thumbs .swiper-slide img {
  width: auto;
  height: 100%;
}
.gallery-slider .swiper-button-disabled {display:none;}

.parvus-zoom {display: initial !important; max-width: 100%;}
.parvus-zoom__indicator {display:none !important;}

.news-single .teaser-text {
  font-size: 16px!important;
  color: #000!important;
  font-weight:bold;
}
.news .footer {color: #000!important;}
.form-text {color: #000!important;}
.form-check {padding-left: 0px; font-weight:bold!important;}

.tx-we-cookie-consent a.btn-primary {
  color: #25578F;
  background-color: #FFF;
  border-color: #FFF;
  padding: 0;
}


.mainheader {
  box-sizing: border-box;
}


.mainheader.shrink {
}

#page {
  display: flex;
  flex-direction: column;
  flex: 1 0 auto; 
  box-sizing: border-box;
  min-height: 0; 
}

main#maincontent, main.main {
  flex: 1 1 auto;
  min-height: 0; 
}

footer {
  flex-shrink: 0;
}

/* Row mit gleich hohen Spalten */
.row-eq-height {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
}

/* jede Bootstrap-Spalte als Flex-Container */
.row-eq-height > [class*="col-"] {
  display: flex;
}


.container-col {
  display: flex;             /* Inhalte übereinander */
  flex-direction: column;
  flex: 1;
}

.push-bottom {
  margin-top: auto;
}

.accordion

 {
    color: black;
    margin: 10px 0;
}


