@keyframes headeranimationin {
    from   {opacity: 0; left: -50vw}
    to {opacity: 1; left: 0;}
}

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

body,
html {
    font-family: "Roboto Condensed"; 
    font-weight: 300;
    font-size: 18px;
    background-color: #d6d6d6;
}
body,html {
 position: relative;
} 

#mainheader {
  height: 80vh;
  background-size: cover;
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-position: center bottom+20vh;
  position: relative;
}

.uarrow {
  position: absolute;
  top: 50vh;
  left: 10vw;
  z-index: 10;
}

.bi-chevron-down {
  color: #ff0000;
  font-size: 50px;
}

.home #mainheader {height: 100vh; background-position: center top;}

#maincontent {scroll-margin-top: 30vh;}

.mainheader {top: 0; left:0; right: 0; padding:0; background: rgba(0,0,0,0.7); z-index: 100; color: #fff;}

.topbox {position: absolute; bottom: 0; left:0; right:0;}
.topbox div[class*="col"] {background-color: rgba(255,255,255,0.8); max-width: 500px; min-height: 190px; padding: 20px 35px 35px 35px;}

#stickywrapper {animation-duration: 0.5s;
  transition: 0.5s;}
.sticky{
	position:fixed;
	top:0px;
	width:100%;
	z-index:85;
/*	background:rgba(255,255,255,0.97) !important;*/
  background: rgba(0,0,0,0,0.5) !important;
  animation-name: stickySlideDown;
  transition:none;
}

@keyframes stickySlideDown {
    0% {
        opacity: 0.7;
        transform: translateY(-100%);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}


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

.topmenu {font-family: "Roboto Condensed", sans-serif; z-index: 15; height: auto;}

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

#mainmenu {margin-bottom: 0; font-family: "Roboto Condensed"; font-size: 18px;}
nav.mainmenu {height: 100%}

nav.mainmenu li.dropdown ul li a {
  font-size: 16px; 
  font-weight: 300;
  color: #000;
}
nav.mainmenu li.dropdown ul li a:hover {
    color: #fff;
}

/*mobilemenu*/
mm-burger {padding: 10px; display: none; position: absolute;
  top: 0;
  left: 0;
 z-index: 10;}
#mm-search .input-row {width:100%; margin-top: 8px;}
#mm-search input {color: #fff;}
 
.mm-menu, .mm-menu * {font-family: "Roboto Condensed", sans-serif;}

#logo img {padding: 15px 15px 15px 0px; width: 380px; transition: all ease 0.5s;}

#toplogo img, #m-toplogo img {width: 220px;}
#toplogo, #m-toplogo {margin: auto; transition: all ease 0.5s; opacity: 0;}
.fade-in {opacity: 1 !important;}

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

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

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

.c-gallery a {font-size: 20px; color: #000; text-decoration: none;}

/*  h1 {width: 50%; text-align: right; padding: 0 25px; color: #fff; background-color: #DE7A29; font-family: "PT Sans";  hyphens: auto; font-size: 30px; line-height: inherit; font-weight: normal; margin: 15px 0; border-radius: 0 5px 5px 0;}*/ 
.breaker [class*="col-"] h2 {background-color: transparent; color: #000; font-family: "Roboto Condensed";  hyphens: auto; font-size: 30px; font-weight: 300; margin-bottom: 15px;}

.breaker.coverbg .container-col h2 {color: #fff;} 


/* Firmensuche */
.suchbetrieb {width: 100%;}

.suchbetrieb h2 {
   font-size: 24px !important;
    color: #000 !important;
}
.suchbetrieb .form-group {margin-bottom: 15px;}
.container-col {width: 100%;}

.breaker h1 {background: none; width: 100%; color: #25578F;}
.breaker h1:before {display:none;}
h1 {font-family: "Roboto Condensed"; color: #000; hyphens: auto; font-size:40px; margin-top:30px; margin-bottom:20px; font-weight: 300; }
h2 {font-family: "Roboto Condensed"; color: #000; hyphens: auto; font-size: 35px; margin-top:23px; margin-bottom:20px; font-weight: 300; }
h3 {color: #000; font-family: "Roboto Condensed"; font-weight:300; font-size: 20px; margin:25px 0px 20px; font-weight: 300;}
h4 {color: #25578f; font-family: "Roboto Condensed"; font-size:18px; font-weight:300;}
h5 {color: #B8CCE4; font-family: "Roboto Condensed"; 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 ; }


.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 .breakercontent a {color: #25578F; text-decoration:none;}
.breaker .breakercontent a:hover {color: #000; text-decoration:underline;}

.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; }


.breaker.vhcenter .row-eq-height {
    min-height: 400px;
}

.breaker.vhcenter .row-eq-height > .col-lg-6,
.breaker.vhcenter .row-eq-height .container-col {
    display: flex;
    align-items: center;
    justify-content: center;
}

.breaker.vhcenter .row-eq-height .container-col {
    width: 100%;
}

.breaker.vhcenter .container-col {background: transparent;}
.breaker.vhcenter .frame {background: rgba(0,0,0,0.5); padding: 25px; color: #fff; }
.breaker.vhcenter h2,h3 {}

.ce-background .twocol.frame {background-color: transparent;}
.ce-background .container-col {padding: 0 50px; background-color: #fff; 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;} 

 
 
 
.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;}
 
/* 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; 
}

.contentbox h2,h1,h3 {width: 100%;}


.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: 65vh;
    position: relative;
}

.content .sliderwrapper {height: 65vh;}
.content .navcontainer {height: 65vh;}

.sliderwrapper .swiper-button-next,
.sliderwrapper .swiper-button-prev{
    visibility: hidden;
  }

.sliderwrapper {position: relative; overflow: hidden; margin: 0; padding: 0;}
.sliderwrapper .stripe {position: absolute; left: 0; right: 0; bottom: 0; background-color: #fff;}
.sliderwrapper hr {position: absolute; bottom: 80px; left:0; right: 0;z-index: 200; border-top: 1px solid #fff; margin: 0;}
.sliderwrapper .container {position: relative;}
.sliderwrapper .swiper-slide {position: relative; }
.sliderwrapper .wrapper {position: absolute;top: 0;
bottom: 0;
left: 0;
right: 0;
overflow: hidden;}

.sliderwrapper .swiper-slide img {min-width: 100%; }

.sliderwrapper .swiper-slide {margin-bottom: -5px;}
.sliderwrapper .claim .row {margin:0;}

.sliderwrapper .claim {
  position: absolute;
  background-color: rgba(254,254,254,0.8);
  bottom: 40%;
  left: 0;
  font-weight: 300;
  min-width: 40vw;
  animation-duration: 0.6s;
  animation-fill-mode: forwards;
  opacity: 0;
  animation-name: headeranimationin;
  padding: 10px 15px 15px 10px;
  text-align: right;
  border-radius: 0px 5px 5px 0px;
}

.claim.hidden {opacity: 0;}

.sliderwrapper  .claim h1 {text-align: right; margin:0; padding:0; color: #25578F; font-weight: normal; font-size: 45px; font-family: "Roboto Condensed", sans-serif; }
.sliderwrapper  .claim h2 {text-align: center; margin:0; padding:0; color: #fff; font-weight: normal; font-size: 60px; font-family: "Roboto Condensed", sans-serif; }
.sliderwrapper  .claim h3 {text-align: center; margin:0; padding:0; color: #fff; font-weight: normal; font-size: 40px; font-family: "Roboto Condensed", sans-serif; font-weight: bold; margin-top: 50px; }
.sliderwrapper  .claim a {text-align: center; background-color: rgba(147,181,63,0.8); color: #fff; text-decoration: none; padding: 5px 20px; border-radius: 5px;}



.sliderwrapper .container {position:relative;}

.sliderwrapper span.bottomstripe {position: absolute; bottom: -2px; left:-2px; right: -2px; z-index: 10;}
 

.btn-default {
   color: #fff !important;
   background: #007A37;
   margin-top:20px;
   padding:5px;
   width:130px;
   transition: background ease 0.3s;
}
.btn-default:hover {text-decoration:none !important;} 

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


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

   
 textarea.form-control {height: 180px;}
.btn-primary { color: #ffffff; background-color: #004474; border-color: #004474; text-align:center!important;}
.btn-primary:hover { background-color: #25578f; 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:#DDDDDD;}
.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:normal; padding: 15px 0px 5px 0px}


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


footer {background-color: #2f2f2f; padding-top: 50px; color:#fff; font-size: 12px;}
footer ul {margin-bottom: 0;}
footer ul a {color: #fff;}
footer ul a {color: #fff !important; text-decoration:none}

footer h2 {font-size: 20px; color: #fff;}

footer .footer2 a {color: #fff;}

footer ul a:hover {color: #fff; text-decoration: underline;}
footer .ce-bodytext ul li::before {
  content: "\F285\A0";
  margin-left: -25px;
  vertical-align: -2px;
  color: rgba(254,254,254,0.5);
  font-family: 'bootstrap-icons';
  font-size: 14px;
}

footer .last {background-color: #2f2f2f; color: #999; font-size: 14px; }
footer sub {width: 100%; text-align: center; display: inline-block; }

footer .footermenu {background-color: #366B94; color: #fff; text-align: center; margin-top: 50px; padding: 10px;}
footer .footermenu ul {list-style: none;}
footer .footermenu li {display: inline-block; padding-right: 25px;}
footer .footermenu li.last {padding-right:0;}

.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: #004474;}
.yellow-bg {background-color: #E8CB43; }
.breaker .frametop {  }  
.breaker .framebottom { }
.breaker .frametop img {margin-top: -2px;}
.breaker .framebottom img {margin-bottom: -2px;}
.grey-bg {background-color: #ddd;}
.green-bg {background-color: #007A37;}
.blue-bg, .green-bg, .blue-bg h1, .green-bg h1,.blue-bg h2, .green-bg h3, .yellow-bg, .yellow-bg h1, .yellow-bg h2  {color: #fff;}


.newsbox .container-col {padding: 25px;}


.newsbox .row-eq-height > .col-md-4 > .container-col {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.newsbox .row-eq-height > .col-md-4 > .container-col > .frame-type-news_pi1 {
    flex: 1;
}

.newsbox .row-eq-height > .col-md-4 > .container-col > .ce-button {
    margin-top: auto;
}

.news a.more, .news a.more:hover {
  color: #2693ff;
  font-size: 18px;
}
.news a.more:hover {text-decoration: underline;}
.newsbox .row-eq-height > .col-md-4 {
    display: flex;
}

.news-list-view span[itemprop="headline"] {font-weight: 500;}
.newsbox .row-eq-height > .col-md-4:nth-child(odd) .container-col {
    background-color: #bbbbbb;
}

.newsbox .row-eq-height > .col-md-4:nth-child(even) .container-col {
    background-color: #dfdfdf;
}

.newsbox .row-eq-height > .col-md-4 .container-col {
    flex: 1;
    /* oder alternativ: width: 100%; */
}

.news .header{
/*	background:#ffffff;*/
	padding:5px 10px;
}
.news .article .teaser-text {
  margin: 0 0 10px 0;
/*  background: #d3d3d3;*/
  padding:20px 10px;
  border-top:1px solid #802780;
  margin-top:20px;
}
.news-text-wrap{
/*  background: #d3d3d3;*/
  padding:20px 10px;
  border-top:1px solid #802780;
  margin-top:20px;  	
}
.news .footer{
	display:none;
}
.news a, .news a:hover{
	color:#000000;
	text-decoration:none;
}	
.news .article .teaser-text a{
  text-align:right;
  display:block;
}
.news .article .teaser-text a::after{
/*  content: "->";*/
  display:inline-block;
  font-family: 'Glyphicons Halflings';
  content: "\e027";
  transform:rotate(90deg);
  font-size:30px;
  vertical-align:middle;
  margin-left:5px;
  color:#6d6d6d;
}
.news .article .teaser-text a.external-link-new-window {
    text-align: right;
    display: inline-block;
} 

.newsbox h1 {
  color: #333;
  font-size: 35px;
}

.news .semtitel a {font-size: 18px;
  font-weight: 500;
  color: #666;
}

.news .semort {font-size: 18px;
  font-weight: 300;
  color: #666;
}

.news .semweiter a.more {color: #000;}
.news .semweiter a.more:hover {text-decoration: none;}
.news .article.seminare {padding:0; margin: 0;}
.news .seminare.row {border-bottom: 1px solid #6d6d6d; padding-top: 25px;}
.news .semweiter a::after {
  font-family: 'bootstrap-icons';
  content: "\F134";
  font-size: 30px;
  vertical-align: middle;
  margin-left: 5px;
  color: #6d6d6d;
  display: inline-block;
}

.news .seminarheader h4 {font-weight: bold; font-size: 18px; color: #000;}

.news .aktuelles .titel a {font-size: 30px;}
.news .aktuelles .titel {border-bottom: 1px solid #000;}

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

.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: #25578F !important;}
.accordion button.accordion-trigger {background: #366B94 !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, .sr-only {
    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, .sr-only: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;}

.mm-navbar__title > span {
  color: #000;
  font-weight: 400;
}

.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;}



.media2click-controls {top: 50%; left: 50%; transform: translateX(-50%);}
.media2click-controls .media2click-button {
  display: inline-block;
  background-color: #000;
  color: #fff;
  font-size: 1em;
  text-decoration: none;
  text-shadow: none;
  padding: 10px 15px;
  border: none;
  border-radius: .25em;
  margin: .25em;
}

.media2click-placeholder-inner {background-color: rgba(255,255,255,.8);}

.media2click-placeholder-video.media2click-haspreview .media2click-placeholder-inner {background-image: none;}

.data-row {background-color: #eeeeee; margin-bottom: 5px;} 