/* LZT 2021 */   
/* zu nutzen mit var(--hover-color) */   
:root {
	--primary-color: #002D5D;   /* rot */    
	--secondary-color: #008AC4;  /* orange */
	--light-color: #f8f9fa;   
	--white-color: #fff;               
	--hover-color: #E3000B;              
	--dark-color: #999;
}  

/* Schriften */
.font-primary { font-family: 'PT Sans'; }  /* PT Sans 400 oder 700 */     
.font-secondary { font-family: 'PT Sans'; }  /* Robot Condensed 300, 400 oder 700 */
.font-bold { font-weight: 700; }
.text-muted { color: #555 !important; }    
.text-primary { color: #002D5D !important; }   /* dunkelblau */
.text-secondary { color: #008AC4 !important; } /* hellblau */    
.font-subline { font-size: 80%; }
.text-semilight { color: #888 !important; }

body { line-height: 1.35; }       
a { color: #002D5D; }
a:hover { text-decoration: none; }                              
a.badge-light, a.badge-light { background: #dae0e5;}
a.badge-light:focus, a.badge-light:hover { background: #cad0d5;}

h1 br { display: none; }
h1 span.font-subline  { display: block; color: #002D5D; }
h3, .h3 { color: #002D5D; margin-bottom: 1.5rem; }  
h5, .h5 { color: #002D5D; }                                
#footer h5, #footer .h5 { color: #fff; }
.ls-compact, .ls-condensed { font-size: 0.9rem; padding-bottom: 0; }     
.ls-compact .inner { max-height: 6rem; overflow: hidden; margin-bottom: 0.5rem; position: relative; }    
.ls-compact .inner::after { z-index: 1; width:100%;  content:""; display: block; position: absolute; bottom: 0; left: 0; right: 0; height: 2rem; background-image: linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%); background-repeat: repeat-x;}  /* schwarz verlauf */
    
.w-50 { max-width: 50%;}
.btn-narrow { padding: .375rem .15rem; margin: 0 0.15rem 0.25rem 0; }

form legend { text-transform: uppercase; font-weight: bold; font-size: 1.1rem; border-bottom: 1px solid rgba(0,0,0,0.4); margin: 1.5rem 0 0.75rem 0; padding-bottom: 0.5rem; }

@media only screen and (max-width:1219.98px){ 

body { font-size: 0.9rem; }
h3, .h3 { font-size: 1.4rem; }  
}   
@media only screen and (min-width:992px) and (max-width:1219.98px){ 
}    
@media only screen and (min-width:768px) {           
.col-12 > .ls-blockelement:first-of-type { margin-top: 0 !important; }
}
@media only screen and (min-width:576px) {           
} 

@media only screen and (min-width:992px){   
.w-lg-50 { max-width: 50%;}   
.w-md-50 { max-width: 50%;}   
.w-sm-50 { max-width: 50%;}     
}
@media only screen and (min-width:768px) and (max-width:991.98px){   
.w-md-50 { max-width: 50%;}    
.w-sm-50 { max-width: 50%;}     
}
@media only screen and (min-width:576px) and (max-width:767.98px) {    
.w-sm-50 { max-width: 50%;}     
}  
@media only screen and (max-width: 575.98px) {    
} 

/* Farben */
.bg-primary, .alert-primary { background: #002D5D !important; }   /* dunkelblau */
.bg-secondary, .alert-secondary { background: #008AC4 !important; } /* hellblau */    
.alert-primary , .alert-secondary { color: #fff !important; border: 0 !important; } /* weisse schrift */
.bg-contrast { background: #E3000B !important; }  /* rot */
.ls-bg-darker { background: rgba(0,0,0,0.05) !important; }  /* etwas dunkler */      
.ls-bg-gradient-frombottom { background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 100%); background-repeat: repeat-x;}  /* schwarz verlauf */


.bg-img-hero { background-size: cover; background-repeat: no-repeat; background-position: center center; }
.bg-full { position: absolute; top: 0; left: 0; right: 0; bottom: 0; }
.bg-inner-minh-16by9 { padding-top: 56.25%; }                  
.bg-inner-minh-4by3 { padding-top: 75%; }
.bg-inner-minh-1by1 { padding-top: 100%; }

/* Button */                                                                    
.btn { border-radius: 0; line-height: 1.1; }   
.btn-primary { background: #002D5D !important; border: 0;  }   
.btn-secondary { background: #008AC4 !important; border: 0;  }   
.btn-outline-primary { border-color: #002D5D !important; color: #002D5D !important; background: #fff !important; }   
.btn-outline-secondary { border-color: #008AC4 !important; color: #008AC4 !important; background: #fff !important; }    
.btn-outline-primary:hover { border-color: #002D5D !important; color: #fff !important; background: #002D5D !important; }   
.btn-outline-secondary:hover { border-color: #008AC4 !important; color: #fff !important; background: #008AC4 !important; }   

/* Fixes */           
.container { width: 100%; max-width: 1380px; }
.btn:focus { outline: none; box-shadow: none; }
.card-img, .card-img-top { border-radius: 0; }

/* Container-Elemente */
.ls-blockelement { position: relative; margin-bottom: 1.5rem; }
.textitem.normal { background: #fff; padding: 1.25rem; }

/* Header */ 
.ls-img-logo { width: 300px; max-width: 300px;  }     
.ls-img-logo { width: 232px; max-width: 232px;  }  
      
#mainheader { min-height: 65px; }
#mainheader nav li.nav-item { margin: 0 1rem; } 
#mainheader nav li.nav-item a.nav-link { margin: 0; padding:  15px 0 10px 0; border-bottom: 5px solid #fff; color: #000; font-size: 1.2rem; line-height: 1.1; font-weight: bold; }      
#mainheader nav li.nav-item a.nav-link:hover { border-color: #008AC4; }          
#mainheader nav li.nav-item.active a.nav-link { border-color: #002D5D; }       
#mainheader .ls-searchinput { width: 10rem; outline: 0 !important; }

#navtoggle { z-index: 99; position: fixed; top: 0; right: 0; left: auto; width: 65px; height: 65px; background: #002D5D !important; color: #fff !important; font-size: 40px; line-height: 65px; text-align: center; padding: 0; border: 0; border-radius: 0; }


@media only screen and (min-width:992px) and (max-width:1359px){        
#mainheader nav li.nav-item { margin: 0 0.6rem; } 
#mainheader nav li.nav-item a.nav-link { font-size: 1.1rem; }   
#mainheader .ls-searchinput { width: 8rem; }
}     
@media only screen and (min-width:992px) and (max-width:1219px){   
.ls-img-logo { width: 200px; max-width: 200px;  }       
#mainheader nav li.nav-item { margin: 0 0.4rem; } 
#mainheader nav li.nav-item a.nav-link { font-size: 0.95rem; }   
#mainheader .ls-searchinput { width: 6rem; }
}      
@media only screen and (max-width:991.98px){   
.ls-img-logo { width: 150px; max-width: 100%;  }   
.ls-img-logo { width: 110px; max-width: 100%;  } 

#mobil-navi { z-index: 990; position: fixed; top: 0; left: auto; right: 0; bottom: 0; overflow: hidden; overflow-y: auto; display: block; color: #fff; width: 300px; max-width: 100%; box-shadow: 0 0 50px 50px rgba(0,0,0,0.2); }
#mobil-navi .navhead { z-index: 995; position: fixed; top: 0; left: auto; right: 0; bottom: 0; display: block; width: 300px; max-width: 100%; color: #fff; height: 64px; padding: 20px 60px 10px 20px; }
#mobil-navi .navhead {}
#mobil-navi .navhead span.navitoggle { cursor: pointer; display: block; position: absolute; right: 0; top: 0; bottom: auto; left: auto; width: 64px; height: 64px; font-size: 30px; line-height: 64px; color: #000; text-align: center; }


#mobil-navi .navbody { padding: 90px 0 0 0; min-height: calc(80vH - 70px); }                                                         
#mobil-navi .navbody ul { display: block; list-style: none; margin: 0; padding: 0; border: 0; position: relative; }   
#mobil-navi .navbody ul li { display: block; list-style: none; margin: 0 20px; padding: 0; border: 0; position: relative; margin-bottom: 0.8rem;  }    
#mobil-navi .navbody ul li a > span { display: inline-block; border-bottom: 0px solid rgba(0,0,0,0.1); padding: 0 10px 5px 0; }     
#mobil-navi .navbody ul li a { display: block; border: 0; color: #000; font-size: 1.3rem; line-height: 1.1; padding: 10px 0 3px 0; font-weight: bold;}        
#mobil-navi .navbody ul li a:hover { color: #008AC4; }   
#mobil-navi .navbody ul li.active a > span.menu-underline { border-bottom: 5px solid #008AC4; }           
#mobil-navi .navbody ul li.active > a { }     
#mobil-navi .navbody > ul > li.active > a {  }   
                                                 

#mobil-navi .navbody > ul ul { display: none; }   
#mobil-navi .navbody > ul li.active > ul { display: block; padding: 10px 0; }                             
#mobil-navi .navbody > ul li.active > ul li a { font-size: 1.0rem; line-height: 1.1rem; padding: 5px 20px 5px 20px; text-transform: none; }      
#mobil-navi .navbody > ul li.active > ul li.active > a { } 
                                                          
                                      
#mobil-navi .navfooter { display: block; color: #555; padding: 10px 20px; border-top: 1px solid rgba(0,0,0,0.1); }    
#mobil-navi form .ls-searchinput { width: 80%; background: rgba(0,0,0,0.1); border-radius: 0; }     
#mobil-navi form button { width: 20%; text-align: center; color: #fff; background: #008AC4; border-radius: 0; }         
} 

.pagination .page-link { color: #002D5D; }      
.pagination .page-item.active .page-link { border-color: #002D5D; background-color: #002D5D;  }    


/* Footer */   
#footer ul.nav li.nav-item a.nav-link { color: #fff; padding: 2px; }      
#footer ul.nav li.nav-item:first-child a.nav-link { }                  
#footer ul.nav li.nav-item a.nav-link:hover { text-decoration: underline; }   
.ls-socialicons { list-style: none; margin: 0; padding: 0; }             
.ls-socialicons li { list-style: none; margin: 0; padding: 0; display: inline-block; } 
.ls-socialicons a { display: inline-block; color: #fff; font-size: 18px; line-height: 36px; text-align: center; padding: 0; margin: 0 8px 8px 0; width: 36px; height: 36px; border-radius: 360px; background: rgba(255,255,255,0.2); }
.ls-socialicons a:hover  { background:  #008AC4 !important; }
   
#gotop { position: fixed; display: block; z-index: 2; bottom: 0; right: 0; top: auto; left: auto; height: 50px; width: 50px; /* background: rgba(255,255,255,0.2) !important; */ background: #E3000B !important; border-color: #E3000B !important; /* border-color: rgba(255,255,255,0.2) !important; */ color: #fff !important; text-align: center; line-height: 50px; font-size: 30px;  }
#gotop:hover { background:  #008AC4 !important; border-color: #008AC4; }

/* Inhaltsbeschriftungen */
.ls-h2-badge { z-index: 90; position: absolute; top: 0; left: 0; right: auto; width: auto; padding: 0.3rem 0.8rem; color: #fff; background: #E3000B; font-size: 1rem;  }     
.ls-h3-badge { display: inline-block; width: auto; padding: 0.3rem 0.8rem; color: #fff; background: #E3000B; font-size: 1rem; margin: 0 auto 0 0; }   
.ls-h3-badge + *, .ls-h3-badge + .card, .ls-h3-badge + .card-group { border-top: 3px solid #E3000B !important; border-radius: 0 !important; padding-top: 5px; margin-top: 0; }   
.ls-h3-badge + .card-group { padding-bottom: 1rem; margin: 0;}    

/* Bilder und Beschriftungen */
.figure { position: relative; margin: 0;}   
.figure .figure-img { margin: 0;  }
.figure .figure-caption, .bg-img-hero .figure-caption { position: absolute; top: 0; bottom: auto; padding: 5px 10px 25px 10px; margin: 0; left: 0; right: 0; text-align: right; background: transparent; background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 100%); background-repeat: repeat-x; color: rgba(255,255,255,0.7); font-size: 11px; }
.bg-img-hero .figure-caption { top: auto; bottom: 0; padding: 25px 10px 5px 10px; background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 100%); }   
.u-avatar { width: 48px; height: 48px; border: 2px solid #fff; }
.img-bookcover { width: 100px; height: auto; padding: 2px; border: 2px solid rgba(0,0,0,0.05); }      
.img-bookcover-2x { width: 240px; height: auto; padding: 2px; border: 2px solid rgba(0,0,0,0.05); }

/* Accordion */    
.seitenliste .card .card-header { background: var(--primary-color); }
.seitenliste .card h3 button, .seitenliste .card h3 button:active { background: var(--primary-color); color: #fff; border: 0; border-bottom-left-radius: 0; border-bottom-right-radius: 0; font-size: 1.2rem; text-decoration: none; }    
.seitenliste .card h3 button { background:  var(--primary-color); color: #fff; text-decoration: none; }          
.seitenliste .card h3 button.collapsed { background: var(--secondary-color); color: #fff;}          
.seitenliste .card h3 button.collapsed:hover { background: var(--secondary-color); color: #fff; text-decoration: none; }      

.seitenliste .card h3 button span.less { display: inline-block; } 
.seitenliste .card h3 button span.more { display: none; } 
.seitenliste .card h3 button.collapsed span.less { display: none; }    
.seitenliste .card h3 button.collapsed span.more { display: inline-block; }

/* Listen und Co. */
.download .list-group-item { border-radius: 0; border-left: 0; border-right: 0; }
.rubrik-selection .btn { border-radius: 16px !important; text-align: left; }


.text-tocheck { margin-bottom: 2rem; }
.text-shortened { max-height: 150px; position: relative; overflow: hidden; }
.text-shortened::after { z-index: 1; width:100%;  content:""; display: block; position: absolute; bottom: 0; left: 0; right: 0; height: 80px; background-image: linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 20%, rgba(255, 255, 255, 0) 100%); background-repeat: repeat-x;}  /* weiß verlauf */
.text-shortened > button { position: absolute; z-index: 2; bottom: 0; left: 0; }


/* Cards und Carousels */
.card { border-radius: 0; }
.card-group { margin-left: -.25rem; margin-right: -.25rem; }  
.js-card-carousel.slick-initialized .slick-slide { display: flex; }    

.slick-prev:before, .slick-next:before { font-family: "Font Awesome 5 Free"; font-weight: 900; font-size: 2rem; color: #888;}    
.slick-prev:before { content: "\f053"; }
.slick-next:before { content: "\f054"; }
.slick-prev, .slick-next { width: 2rem; height: 2rem; }
.slick-next { right: -3rem; }
.slick-prev  { left: -3rem; }
.slick-dotted.slick-slider { margin-bottom: 80px; }


@media only screen and (max-width:991.98px) {                                 
.slick-prev:before, .slick-next:before { font-size: 24px; color: #aaa;}    
.slick-prev, .slick-next { z-index: 98; top: 80px; width: 30px; height: 40px; background: rgba(255,255,255,1); border: 0px solid #eee; box-shadow: 0 0 1px 1px rgba(0,0,0,0.1); border-radius: 0; }
.slick-next { right: -15px; border-radius: 360px 0 0 360px;}
.slick-prev  { left: -15px; border-radius: 0 360px 360px 0;}
.slick-prev:hover, .slick-prev:focus, .slick-next:hover, .slick-next:focus { background: #fff; }    
.img-bookcover-2x { width: 140px;  }
}


@media only screen and (max-width: 575.98px) {                                                                   
.btn-xs-block { display: block; }        
.img-bookcover-2x { width: 100%; height: auto; padding: 2px; border: 2px solid rgba(0,0,0,0.05); }
}