:root { scroll-behavior: smooth; }

@font-face {
    font-family: 'Lunery';
    src: url('/assets/fonts/Lunery.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Purity';
    src: url('/assets/fonts/Purity.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}


body { padding-top: 65px; background:linear-gradient(rgba(98,58,22,.8), rgba(98,58,22,.5)), url("../img/bg.jpg") center/cover no-repeat fixed; } /* wegen fixed-top Navbar */

h1, h2, h3, h4, h5, h6, .navbar, .date, .titel, .btn {
	
	font-family: 'Lunery', serif;
	font-weight: bold !important;

}

a {color: #d83a41;}
.hero {
  height: 90vh;
  min-height: 680px;
  background: url("../img/hero3.jpg") bottom/cover no-repeat;
  position: relative;
  box-shadow: 0 20px 40px rgba(0,0,0,0.85);

}
.hero::before{
  content:"";
  position:absolute; inset:0;
  background: rgba(0,0,0,.15);
}
.hero .container {
	  position: relative;
  bottom: 10px;
	
}
.hero .hero-inner{
  position: absolute;
  top: 40px;
  color: #000;
  width: 98%;
  margin: 0 auto;
  text-align: center;

}
.hero .hero-inner img {
	
	 filter: drop-shadow(10px 8px 10px rgba(0,0,0,1));
}
.hero .hero-inner h1{
	font-size: 7rem;
	line-height: 7.5rem;
	text-shadow: -1px -1px 0 #AAA, 1px -1px 0 #AAA, -1px 1px 0 #CCC, 2px 2px 1px #FFF;
}
.hero .hero-inner h2{
	font-size: 4rem;
text-shadow: -1px -1px 0 #AAA, 1px -1px 0 #AAA, -1px 1px 0 #CCC, 1px 1px 1px #FFF;

}
.hero .hero-inner h5{
	font-size: 2.2rem;
text-shadow: -1px -1px 0 #AAA, 1px -1px 0 #AAA, -1px 1px 0 #CCC, 1px 1px 0 #FFF;
}
.section { padding-top: 4.5rem;     }

.timeline {
  position: relative;
  margin: 2rem 0 0;
  padding-left: 1.5rem;
}
.timeline::before{
  content:"";
  position:absolute;
  top:0; bottom:0; left: .45rem;
  width: 2px;
  background: rgba(0,0,0,.15);
}
.tl-item{
  position: relative;
  padding: 0 0 1.25rem 0;
}
.tl-dot{
  position:absolute;
  left: -0.05rem;
  top: 1rem;
  width: 14px; height: 14px;
  border-radius: 999px;
  background: #e1354b;
  box-shadow: 0 0 0 4px rgba(13,110,253,.15);
}
.tl-card{
  margin-left: 1.25rem;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 1rem;
  padding: 1rem 1.1rem;
  background: #fff;
}

.map-consent {
  border: 1px dashed rgba(0,0,0,.25);
  border-radius: 1rem;
  padding: 1rem;
  background: rgba(0,0,0,.02);
}

.footer {
  border-top: 1px solid rgba(0,0,0,.1);
  padding: 2rem 0;
  background-color: #151515;

}
.footer .text-muted {
	
	  color: #AAA !important;
}

.bg-light {
	
	/*background-color: #e7e2ce !important;*/
	background-color: transparent !important;
}
nav {
	
		background-image: url("../img/rolle2.png");
    background-repeat: no-repeat;
    background-size: 110% auto;      /* 100% Breite */
    background-position: center center; /* horizontal + vertikal zentriert */	
}
.content {
	padding: 50px;
	border-radius: 1rem;
	/*background-color: #d1cbbf !important;*/
	background-image: url("../img/rolle2.png");
    background-repeat: no-repeat;
    background-size: cover;      /* 100% Breite */
    background-position: center center; /* horizontal + vertikal zentriert */
	box-shadow: 0 5px 20px rgba(0,0,0,0.85);
	
}


#ueberSlider img {
    height: 420px;
    object-fit: cover;
}

#ueberSlider2 img {
    height: 420px;
    object-fit: cover;
}


#kontakt img{
	width: 100%;
	border-radius: 20px;
}

#mainnav {
	font-weight: bold;
	
}

.wide {
	width: 100% !important;
}

.news-image {
	height: 250px; overflow: hidden;
}

.logo-img {width: 10vw;}

@media (max-width: 768px) {
	.hero {
		height: 56vh;
  background: url("../img/hero3.jpg") center/cover no-repeat;
  position: relative;
	}
	.logo-img {width: 20vw; max-width: 75px;}
	.content {padding: 20px;}
	
	
	.hero .hero-inner h1{
	font-size: 3.5rem;
	line-height: 4rem;
	text-shadow: -1px -1px 0 #FFF, 1px -1px 0 #FFF, -1px 1px 0 #FFF, 1px 1px 0 #FFF;
}
.hero .hero-inner h2{
	font-size: 2.2rem;


}
.hero .hero-inner h5{
	font-size: 1.5rem;

}
}
@media (min-width: 1400px) {
	.hero {
		height: 90vh;
  background: url("../img/hero3.jpg") center/cover no-repeat;
  position: relative;
	}
	.logo-img {width: 8vw;}
	
}









.glossary-grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: .75rem;
}

@media (min-width: 768px){
  .glossary-grid{
    grid-template-columns: 1fr 1fr;
    gap: .9rem;
  }
}

.glossary-item{
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 1rem;
  padding: .9rem 1rem;
  background: #fff;
  transition: transform .08s ease, box-shadow .08s ease;
}

.glossary-item:hover{
  transform: translateY(-1px);
  box-shadow: 0 .35rem 1rem rgba(0,0,0,.06);
}

.glossary-term{
  font-weight: 700;
  margin-bottom: .15rem;
  font-family: 'Lunery', serif;
}

.glossary-def{
  color: rgba(0,0,0,.65);
}







.custom-tooltip {
  position: absolute;
  max-width: 250px;
  padding: 8px 12px;
  background: rgba(254, 244, 209, 0.95);
  color: #000;
  font-size: 16px;
  font-weight: bold;
    font-family: 'Lunery', serif;
  line-height: 1.4;
  border-radius: 6px;
  pointer-events: none;
  z-index: 9999;
  box-shadow: 0 4px 12px rgba(0,0,0,0.25);
  transition: opacity 0.15s ease;
}