:root {
    /* typography */
    --text-xl: 3.5rem;
    --text-l:2.5em;
    --text-m: 1.7rem;
    --text-sm: 1.5rem;
    --text-s: 1.1rem;
    --text-xs: 0.94rem;

    --abstand-xs:2px;
    --abstand-s:20px;
    --abstand-sm:50px;
	--abstand-m:80px;
	--abstand-l:120px;
    --abstand-xl:150px;
    
    --abstand-header:120px;
    --maincolor-gruen: #607F3B;
    --maincolor-hellgruen:#e4e9dd;
    --maincolor-dunkelgruen:#526E3A;
    --maincolor-dunkel: #000000;
}

@media(max-width: 1024px){
  :root {
    --text-xl: 2.3rem;
    --text-l: 1.9rem;
    --text-m: 1.5rem;
    --text-sm: 1.05rem;
    --text-s: 1rem;
    --text-xs: 0.9rem;

    --abstand-xs:6px;
    --abstand-s:10px;
    --abstand-sm:35px;
    --abstand-m:50px;
	--abstand-l:90px;
    --abstand-xl:120px;
  }
}
@media(max-width: 768px){
  :root {
    --abstand-xs:2px;
    --abstand-s:5px;
    --abstand-sm:20px;
    --abstand-m:40px;
	--abstand-l:60px;
    --abstand-xl:80px;
  }
}

@media(max-width: 640px){
  :root {
    --text-xl: 1.8rem;
    --text-l: 1.6rem;
    --text-m: 1.3rem;
    --text-sm: 1.0rem;
    --text-s: 0.95rem;
    --text-xs: 0.85rem;

    --abstand-xs:0;
    --abstand-s:10px;
    --abstand-m:30px;
	--abstand-l:40px;
    --abstand-xl:50px;
  }
}



* {
	line-height:140%;
	margin:0;
	padding:0;
	font-size:16px;
	}

body {
	background: #fff;
  	cursor: auto;
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 500;
  	line-height: 1.5;
  	margin: 0;
  	padding: 0;
	}



/**************************/
/**************************/

.weiss {
    background: #fff;
    }
.hellgruen {
  	padding:var(--abstand-m)  0;
    background:var(--maincolor-hellgruen);
    margin-top: var(--abstand-s);
    }
.gruen {
  	padding:var(--abstand-m)  0;
    background:var(--maincolor-gruen);
    margin-top: var(--abstand-s);
    }
.gruen * {color:#fff;}

/**************************/
/******** Header **********/
/**************************/
.header {
	position: fixed;
  	width: 100%;	
	background:#fff;
  	height: var(--abstand-header);
    z-index: 1000;
	}
.abstandheader {
	padding-top:var(--abstand-header);
	}
#logo {
    margin-top:20px;
    width:330px;
	}
.headerbild img{
    width:100vw;
    }
/**************************/
/******** Abstaende ********/
/**************************/


.frame-space-before-extra-small {
	margin-top:var(--abstand-xs);
	}
.frame-space-before-small {
  	margin-top:var(--abstand-s);
	}
.frame-space-before-medium {
 	margin-top:var(--abstand-m);
	}
.frame-space-before-large {
	margin-top:var(--abstand-l);
	}
.frame-space-before-extra-large {
	margin-top:var(--abstand-xl);
	}

.frame-space-after-extra-small {
	margin-bottom:var(--abstand-xs);
	}
.frame-space-after-small {
  	margin-bottom:var(--abstand-s);
	}
.frame-space-after-medium {
 	margin-bottom:var(--abstand-m);
	}
.frame-space-after-large {
	margin-bottom:var(--abstand-l);
	}
.frame-space-after-extra-large {
	margin-bottom:var(--abstand-xl);
	}
/**************************/
/******** scrolled  *******/
/**************************/
.scrolled .header{
    -webkit-transition: all 0.4s ease;
 	transition: all 0.4s ease;
  	height: 80px;
    overflow: hidden;
    -webkit-box-shadow: 0px 11px 10px -4px rgba(0,0,0,0.23); 
    box-shadow: 0px 11px 10px -4px rgba(0,0,0,0.23);
	}

.scrolled  #logo {
    -webkit-transition: all .5s ease;
    transition: all .5s ease;
    margin-top:13px;
    width:190px;
    opacity: 1;
	}
.scrolled  .abstand {
    -webkit-transition: all .5s ease;
    transition: all .5s ease;
    padding-top:80px;
    }
.scrolled ul#menu {
    margin-top:45px;
    -webkit-transition: all .5s ease;
    transition: all .5s ease;
    }

/**************************/
/******** Footer   ********/
/**************************/

#back-top img {
    position: fixed;
    right: 5px;
    bottom: 20vh;
	width:50px;
	}
ul.kurzmenu {
	list-style-type:none;
	margin-top:108px;
    margin-right:0;
	display: flex;
    justify-content:right;
	}
ul.kurzmenu li{
	padding:0;
	display:inline-block;
	}
ul.kurzmenu li a{
	color: #fff;
	font-weight:400;
	font-size:var(--text-s);
    padding:3px 0 3px 20px;
	text-decoration:none;
	}
ul.kurzmenu li a:hover, ul.kurzmenu li a.active {
	color: var(--maincolor-hellgruen);
	}
footer p a:hover, footer p a:visited:hover {
    color:var(--maincolor-hellgruen);
	}
/**************************/
/******** Formatierung ****/
/**************************/
h1 {
    font-family: 'Montserrat';
    font-style: normal;
	font-weight:400;
    color:var(--maincolor-dunkelgruen);
	font-size:var(--text-xl);
    line-height: 130%;
	}

h2 {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 400;
    color:var(--maincolor-dunkelgruen);
	font-size:var(--text-l);
	line-height:150%;
	}
h3 {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 400;
    color:var(--maincolor-dunkelgruen);
	font-size:var(--text-m);
	line-height:150%;
	}
p {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 500;
    color:var(--maincolor-dunkelgruen);
	font-size:var(--text-s);
	line-height:170%;
	}

p a, p a:visited {
	font-size:100%;
    color:var(--maincolor-dunkelgruen);
	}
p a:hover, p a:visited:hover {
    color:var(--maincolor-gruen);
	}
p b {
    font-weight: 600;
    font-size: 100%;
    }
a button {
    display: inline-block;
    padding: 10px;
    color: var(--maincolor-dunkelgruen);
    background: var(--maincolor-hellgruen);
	font-weight:500;
	font-size:var(--text-xs);
	margin:0 var(--abstand-xs);
    padding:5px var(--abstand-s);
    text-transform: uppercase;
    border-radius: 12px;
    -webkit-transition: all .5s ease;
    transition: all .5s ease;
    font-weight: 500;
    cursor: pointer;
    }
a:hover button {
    background: var(--maincolor-gruen);
    color: #fff;
    -webkit-transition: all .5s ease;
    transition: all .5s ease;
    }
ul.aufzaehl {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 500;
    color:var(--maincolor-dunkelgruen);
	font-size:var(--text-s);
	line-height:170%;
    list-style-position: inside;
	}
ul.aufzaehl li{
    padding:3px 0;
	}
.inhaltsbild-wrapper {
    position: relative;
    display: inline-block;
    }
.inhaltsbild {
    border-radius: 50%;
    display: block;
    position: relative;
    z-index: 1;
    }
.inhaltsbild-wrapper::before {
    content: '';
    position: absolute;
    width: 106%;
    height: 106%;
    border-radius: 54%;
    z-index: 0;
    }
.inhaltsbild-wrapper.links::before {
    top: -5%;
    left: -6%;
    transition: all .4s ease-out;
    background: var(--maincolor-hellgruen);
    }
.hellgruen  inhaltsbild-wrapper.rechts::before {
    background: var(--maincolor-gruen);
    }
.hellgruen .inhaltsbild-wrapper.links::before {
    background: var(--maincolor-gruen);
    }
.inhaltsbild-wrapper.rechts::before {
    top: 2%;
    left: 2%;
    transition: all .4s ease-out;
    background: var(--maincolor-hellgruen);
    }
.inhaltsbild-wrapper.links:hover::before {
    top: -2%;
    left: -2%;
    transition: all .4s ease-out;
    background: var(--maincolor-gruen);
    }
.inhaltsbild-wrapper.rechts:hover::before {
    top: -2%;
    left: -2%;
    transition: all .4s ease-out;
    background: var(--maincolor-gruen);
    }
/**************************/
/******** Abstände ********/
/**************************/

h1 {
	margin:var(--abstand-s) var(--abstand-s) 0 var(--abstand-s);
	}
h2 {
	 margin:0 var(--abstand-s);
	}
h3 {
	 margin:0 var(--abstand-s) var(--abstand-s) var(--abstand-s);
	}
p {
	margin:15px var(--abstand-s);
	}
h3 + p {
    margin-top: 0;
    margin-bottom:var(--abstand-s);
    }
h3:has(+ p) {
    margin-top: 30px;
    margin-bottom: 0;
    }

/**********************************************/
@media only screen and (max-width: 1200px)  {


ul.kurzmenu {
	margin-top:45px;
    margin-right:0;
	}
}
/**********************************************/

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

.abstandheader {
    padding-top:140px;
    }
.header {
  	height: 140px;
	}  
#logo {
    margin:20px auto 10px auto;
    width:280px;
    text-align: center;
	}
.inhaltsbild-wrapper {
    position: relative;
    display: inline-block;
    margin:var(--abstand-s) var(--abstand-s);
    }
.inhaltsbild {
    border-radius: 50%;

    }
.inhaltsbild-wrapper::before {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    }
.inhaltsbild-wrapper.links::before {
    top: -5px;
    left: -10px;
    }
.inhaltsbild-wrapper.rechts::before {
    top: 5px;
    left: 5px;
    }
.inhaltsbild-wrapper.links:hover::before {
    top: -5px;
    left: -10px;
    }
.inhaltsbild-wrapper.rechts:hover::before {
    top: 5px;
    left: 5px;
    }
    
ul.kurzmenu {
	margin-top:45px;
    margin-right:1vw;
	}
#back-top img {
	width:40px;
	}
}


/**********************************************/
@media only screen and (max-width: 640px) {

#logo  {
    width:240px;
    margin-left:30px;
	}
ul.kurzmenu {
	margin-top:50px;
    margin-left:10px;
	display: block;
    justify-content:left;
	}
ul.kurzmenu li{
	padding:0;
    margin:5px 0;
    display: block;
	}
ul.kurzmenu li a{
    font-size:0.95em;
	padding:0;
    margin:0;
	}
.text-right {
    text-align: left;
    }
#back-top img {
	width:40px;
	}


    
}


