html{
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
body {
  background: #f2f2f2;
  font-family: Arial, sans-serif;
}
#wrapper {
  max-width: 100%;
  margin: 0 auto;
  background: #fff;
}

/* ========== Toplinks (graue Leiste oben) ========== */
#toplinks {
  background: #fafafa;
  border-bottom: 1px solid #ddd;
}
#toplinks ul {
  display: flex;
  justify-content: flex-end;
  list-style: none;
  padding: 10px 10px;
  gap: 15px;
}
#toplinks a {
  text-decoration: none;
  color: #444;
  font-family: 'Yanone Kaffeesatz', Arial, sans-serif;
  font-size: clamp(11px, 4vw, 15.5px);
  
}
#toplinks a.active { font-weight: bold; }

#toplinks{ font-size:0.95em }

.header{display:block;}
.header-logo {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  box-sizing: border-box;
  padding: 0px;
  border:0px solid;
  padding: 30px 0px 20px 20px;
}

.header-menu-desktop{
	display:none;
}

#header-image img {
  width: 100%;
  display: block;
  padding: 0px 7px 0px 7px;
}
.brand {
  width: calc(100% - 70px);
  box-sizing: border-box;
}

.brand a {
  text-decoration: none;
  
  font-family: 'Yanone Kaffeesatz', Arial, sans-serif;
  font-size: clamp(11.5px, 2.5vw, 15.5px);
}

.brand h1 {
  color: #67b32e;
  font-weight: 400;
  font-size: 2.4em;
  font-family: 'Yanone Kaffeesatz', Arial, sans-serif;
	letter-spacing:-1px;
  margin: 0;
  text-decoration: none;
}

.brand p {
  color: #67b32e;
  font-family: 'Yanone Kaffeesatz', Arial, sans-serif;
  font-size: clamp(15px, 5vw, 17.5px);
  line-height: 1.0;
  margin: 4px 0 0 0;
}

.brand-logo img {
  width: 90px;
  height: 90px;
  object-fit: contain;
  display: block;
  position:relative;
  right:20px;
}

.header-menu-mobile{padding: 7px 7px 7px 7px;}
.toplinks_mobile {
	width:100%;
	max-width:100%;
	box-sizing:border-box;

	padding:8px 10px;
	font-size:1.45em;
	color:#5a5d5d;
	border:1px solid #ccc;
	border-radius:4px 4px 0px 0px;
	background:#fafafa;

	appearance:none;
	-webkit-appearance:none;
	-moz-appearance:none;
}

.submenu a{
	display: block;
	color:#ffffff;
	font-size:1.45em;
	text-decoration:none;
	border:1px solid #67b32e;
	border-bottom:1px solid #a4ff60;
	padding: 5px 10px 5px 10px;
	background:#67b32e;
}
.submenu a.submenu-active{
	color:#a57000 !important;
	font-weight:bold;
}
.submenu a:hover{
	color:#a57000;
	font-weight:bold;
}
.toplinks_mobile:focus{
  border:1px solid #67b32e;
  outline:none;
  color:#f09927;
}


main {
	padding: 0px 8px 10px 8px;
    box-sizing:border-box;
	color:#333333;
	font-size:16px;
	
}

main h1{
  font-size:38px;
  line-height:1.1;
  margin-bottom:15px;
  color:#222;
}

main h2{
  font-size: clamp(15px, 6vw, 23.5px);
  margin-top:20px;
  margin-bottom:10px;
}

main h3{
  font-size:20px;
  margin-top:5px;
  margin-bottom:5px;
}

main a{
	color:#67b32e;
}
main a:hover{
	color:orange;
}
@media (max-width: 400px) and (hover: none) and (pointer: coarse) {
	#toplinks{ font-size:0.70em }
	.brand h1 {font-size: 1.78rem;}
	.brand p {font-size: 0.75rem;}
	.brand-logo img {width: 60px;height: 60px;position:relative;right:20px;}
	
}  


.video{
  position:relative;
  border:1px solid #ccc;
  padding-bottom:56.25%;
  box-shadow:0 5px 15px rgba(0,0,0,0.3);
  height:0;
  margin-top:20px;
	margin-bottom:20px;
}

.video iframe{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
}

.image-box{
	border:1px solid #ccc;
	padding:0px;
	box-shadow:0 5px 15px rgba(0,0,0,0.3);
	display:inline-block;
	box-sizing:border-box;
	margin-top:20px;
	margin-bottom:20px;
}

.image-box img{
  width:100%;
  height:auto;
  display:block;
  box-sizing:border-box;
}
.info-table{
	width:100%!important;
	box-sizing:border-box;
	margin:40px 0 !important;
}
.info-col-left,.info-col-right{
		border:0px solid;
		margin-bottom:0px!important;
		
}

.info-row{
	margin-bottom:8px;
}

.info-col-left a,
.info-col-left a:link,
.info-col-left a:visited,
.info-col-right a,
.info-col-right a:link,
.info-col-right a:visited,
.info-col-full a,
.info-col-full a:link,
.info-col-full a:visited{
	color:#67b32e;
	text-decoration:none;
}

.info-col-left a:hover,
.info-col-left a:active,
.info-col-right a:hover,
.info-col-right a:active,
.info-col-full a:hover,
.info-col-full a:active{
	color:orange;
}
/* === Formular === */

.form-table{
	border: 0px solid;
}

.form-row{
	display:block;
	margin-bottom:18px;
}

.form-col-left{
	width:100%;
	min-width:0;
	padding-right:0;
	padding-bottom:6px;
	text-align:left;
	font-weight:bold;
}

.form-col-right{
	width:100%;
}
	.form-col-right input,
.form-col-right textarea{
	width:100%;
	box-sizing:border-box;
	padding:6px;
	border:1px solid #999;
	font-size:20px;
	font-family:inherit;
	background:#f5f5f5;
}

.form-col-right textarea{
	min-height:180px;
	resize:none;
}

.form-col-right select{
	width:100%;
	box-sizing:border-box;
	padding:6px;
	border:1px solid #999;
	font-size:20px;
	font-family:inherit;
	background:#f5f5f5;
	cursor:pointer;
}

.form-col-right select:hover{
	background:#eeeeee;
}

.form-col-right input:focus,
.form-col-right textarea:focus,
.form-col-right select:focus{
	outline:none;
	border:2px solid #67b32e;
	background:#fff;
	color:#67b32e;
}

.form-btn{
		width:100%;
		padding:10px;
		border:1px solid #999;
		background:#eee;
		cursor:pointer;
		font-size:16px;
		margin-bottom:10px;
	}
/* Footer */
footer {
  text-align: center;
  padding: 15px;
  background: #fafafa;
  border-top: 1px solid #ddd;
  font-size: 0.9em;
}

