/* ==============   GLOBAL DEFINITION   ====================================================== */

/* alternatives Boxmodell */
main { 
  box-sizing: border-box; 
} 

*, ::before, ::after { 
  box-sizing: inherit; 
}

body {
    max-width: 75em;
    margin: 0 auto; 
    padding-bottom: 2em;
    padding-left: 1em;
    padding-right: 1em;
    font: normal 1em Trebuchet MS, sans-serif;  /* Mindestschriftgröße wird dem Browser überlassen! */
	color: #555555;
    background: #dddddd; 
	position:relative;
}


/* ============== header & navigation: siehe bei footer weiter unten ========================= */


		
/* ============== content / inhalt / main1 ==================================================== */


main {
	padding: 1em;
    	padding-bottom: 2em;
	background: #ffffff;
	box-shadow: 0 0 10px rgba(0,0,0,0.2);
	border-radius: 1em;  
}

a {
	color: rgba(102, 204,0 ,0.95);
}

a:hover,
a:focus {
        border-bottom: solid rgba(102, 204,0 ,0.95) 2px;
}

a.button{
	background:  rgba(102, 204,0 ,0.95);
	font-weight: bold;
	box-shadow: 0 0 20px #c3d34e inset, 0 2px 1px rgba(0,0,0,0.2);
	color: #ffffff;
	padding: 0.5em;
	border-radius: .5em;
	text-decoration: none;	
}
a.button:hover,
a.button:focus {
	background: #339900;
}

h1 {
}

h1 span,
.akzentfarbe1 {
	color:  rgba(102, 204,0 ,0.95);
}

h1 a:hover span {
    color: #ffffff;
}

.akzentfarbe2 {
	color: orange;
}

aside,
section {
	box-shadow: 0 0 80px rgba(0,0,0,0.1) inset, 0 3px 1px rgba(0,0,0,0.15);
	border-radius: 1em;
	position: relative;
	padding: 0 0 4em;     /* Platz für abslout positionierte Buttons */
}

aside h2,
section h2 {
	color: #ffffff;
	padding: .5em;
	margin: 0;
	background:  rgba(102, 204,0 ,0.95);
	border-radius: .5em;
	box-shadow: 0 3px 0 #339900;
}

section p {
	padding: 0.5em 1em;
}

section p:first-of-type {
	font-weight: bold;
	color: #339900;
}

section img {
  width: calc(100% - 1em);
  margin: 0.5em 0.5em 1.5em;
}


#zweiueber {
	font-weight: bold;
	color: #339900;    
}


aside {
}

section a.button {			
	position: absolute;	/* So werden Buttons immer an der gleichen Stelle, unabhängig vom vorhandenen Inhalt, positioniert */
	right: 1em;
	bottom: 1em;
}

form {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-gap:.5em; 
	padding: 1em;
}

form input {
	background: #555;
	border-radius: 4px;
	border: none;
	color: #ffffff;
	padding: 0.75em 0.75em 0.75em 2.5em;
	font-weight: bold;
}


#btn1 {
    background: rgba(102, 204, 0 ,0.95);
	font-weight: bold;
    box-shadow: 0 0 10px #c3d34e inset, 0 2px 1px rgba(0,0,0,0.2);
	color: #ffffff;
	padding: 0.5em;
	border-radius: .5em;
	text-decoration: none;
    display: inline-block;
    float: right;
    margin-left: 40px
}


#btn1:hover {background: #339900;}


#btn0 {
    background: transparent;
    border: none !important;
    font-size:0;
}


form#search{ 
	position:relative;
}	

form#search input {
	width: 15em;
	margin: 0 1em;
}		

#search i {
	position: absolute;
	top: 1.2em;
	left: 1.75em;
	color: #bebebe;
}


section a {
    color: rgba(102, 204,0 ,0.95);  
    
}

section ul {
	margin: 1em 0 0 3em;
}
		
section li {
	font-weight: bold;
	margin: 0.5em 0 1em 2em;
}
section li i {
	color: #339900; 
}

dl.grid { 
  display: grid; 
  grid-template-columns: repeat(2, 1fr);
  padding: 0.5em;
}
dd { 
  margin: 0; 
  padding-left: 1em; 
}
dl.grid dd {
  margin-bottom: 1em;
}

a[href^="tel"] { white-space: nowrap; }


/* ============== content / inhalt / main2 ==================================================== */


.main2 {
    position: absolute;
    top: 5em;
    padding-bottom: 3em;
    margin-bottom: 5em;
    max-width: inherit;
    width: calc(100% - 2em);
    background: #ffffff;
    box-shadow: 0 0 10px rgba(0,0,0,0.2);
	border-radius: 1em 1em 1em 1em;
    z-index: 1;
/*    display: inline-block; */
    
}

#main2txt {
margin-left: 2em;
margin-right: 2em;
}


/* ============== navigation ================================================================= */


.dropdown {
    position: fixed;
    top: 2px;
    margin-left: 15px;
    text-decoration: none;
    display: inline-block; 
    z-index: 11;
}

.dropbtn { 
    background-color: rgba(102, 204,0 ,0.95);
    color: white;
    padding: 8px;
    font-size: 12px;
    font-weight:bold;    
    border: none;
    cursor: pointer;
    border-radius: 0.5em 0.5em 0.5em 0.5em;
}


.dropdown-content {
    display: none;
    position: absolute;
    top: 50px;
    right: 0;
    font-weight:bold;
    background-color: rgba(102,204,0,0.95);
    min-width: 160px;
    box-shadow: 0px 8px 16px 0px #339900;
    border-radius: 0.5em 0.5em 0.5em 0.5em;
    z-index: 12;
}

.dropdown-content a {
    color: black;
    padding: 12px 16px;
    text-decoration: none;
    display: block;
    border-radius: 0.5em 0.5em 0.5em 0.5em;
}

.dropdown-content a:hover {background-color: #339900;}

.dropdown:hover .dropdown-content {display: block;}

.dropdown:hover .dropbtn {background-color: #339900;}



/* ============== Header & Footer ============================================================ */
	

header.banner {
    position: fixed;
    top: 0px;
    max-width: inherit;
    width: calc(100% - 2em);
    height: 60px;
    background: #333333;
    box-shadow: 0 0 10px rgba(0,0,0,0.2);
	border-radius: 0 0 1em 1em;
    z-index: 10;
    display: inline-block; 
}


#logoheader {
    margin-left: 56px;
	color: #ffffff;
	font-size:1.7em;
	font-weight:bold;
	text-decoration: none;
    display: inline-block;     
}


header.banner a:hover {
    background-color: #339900; 
}

footer.banner {
    position: fixed;
    bottom: 0px;
    max-width: inherit;
    width: calc(100% - 2em);
    height: 35px;
    background: #333333;
    box-shadow: 0 0 10px rgba(0,0,0,0.2);
	border-radius: 1em 1em 0 0;
    z-index: 9;
}


#footermenue a {
    padding-top: 8px;
    padding-left: 2px;
    padding-right: 4px;
    margin-bottom: 30px;
    color: rgba(102, 204,0 ,0.95); 
    text-decoration: none;
    display: inline-block;   
}


#footermenue a:hover {
    border-bottom: solid white 2px;    
   /* background: rgba(0,0,0,0.0);*/
}



/* ============== responsives Layout ========================================================= */


/* Mobile first! 1-Spaltenlayout  */

@media only screen and (min-width: 1em) {
  main {
      margin-top: 40px;
      margin-bottom: 20px;
  }
  
  article {
	grid-column: span 2;
  }


/* 2-Spaltenlayout, sobald der Platz es erlaubt  */

@media only screen and (min-width: 40em) {
  main {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-gap:1em;
	position: relative;
	margin: 3em auto 1em;
  }
  
  article {
	grid-column: span 2;
  }
  
  
/* 3-Spaltenlayout, sobald der Platz es erlaubt  */
@media only screen and (min-width: 60em) {
  main {
	grid-template-columns: repeat(3, 1fr);
  }

	main header,
	main footer {
	  grid-column: span 3;
	}

	article{
	  grid-column: span 2;		
	}
}

/* Flexbox Fallback wenn der  Browser kein display:grid unterstützt. */
@supports not (display: grid) {
  main {
    display: flex;
    flex-flow: row wrap;
  }

main > * {
  flex: 1 100%;      /* Alle Elemente werden über die volle Breite dargestellt */
} 

article {
  flex: 1 64%;      
  margin: 1%;
}
section,
aside {
  flex: 1 31%;      /* Diese Elemente erhalten eine Breite von 1/3.  */
  margin: 1%;
}
}
