/* Farben */
:root {
    --blau: #3EA2D1;
    --gruen: #7DB210;
    --gruengelb: #AED238;
    --hellgruen: #F3FCE2;
    --schriftblau: #003C78;
    --schriftgruen: #006600;
    --hellgrau: #E6E3E4;
    --weiss: #FFFFFF;
}

/* Grundlayout */
body {
    font-family: "Microsoft Sans Serif", sans-serif;
    margin: 0;
    background: var(--hellgrau);
    color: var(--schriftblau);
}

/* Header */
.header-title {
    background: var(--gruengelb);
    color: var(--schriftgruen);
    padding: 10px;
    font-size: 1.0rem;
    text-align: center;
    font-weight: bold;
}

.toplinks {
    display: flex;
    justify-content: flex-end;
    gap: 20px;
    padding: 8px 20px;
    background: var(--gelb);
}

.toplinks a {
    color: var(--schriftblau);
    text-decoration: none;
    font-weight: normal;
    font-size: 0.8rem;
    
}

/* Navigation */
.mainnav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    color: var(--weiss);
    background: #7DB210; 
    justify-content: space-between;
}

.mainnav li a {
    display: block;
    padding: 12px 15px;
    color: #color: var(--weiss);
    text-decoration: none;
    font-weight: normal;
}

.mainnav li a:hover {
    background: #3EA2D1; /* Blau */
    color: var(--weiss);
}

.navitem {
    color: var(--weiss);
    text-decoration: none;
    font-size: 1.0rem;
}

.navitem:hover {
    color: var(--weiss);
}

/* Seite: Contentblock + Aside */
.pagewrap {
    display: flex;
    justify-content: center;
    gap: 20px;
    padding: 20px;
}

/* Contentbereich */
.contentwrap {
    max-width: 900px;
    width: 100%;
}

.contentbox {
    background: var(--weiss);
    padding: 20px;
    border-radius: 0px;
    margin-top: 0px;
}

/* Zweigeteilte Bereiche */
.split {
    display: flex;
    gap: 20px;
    margin-bottom: 20px;
    margin-top: 20px;

}

.split-left,
.split-right {
    flex: 1;
}

.responsive-img {
    width: 100%;
    height: auto;
    border-radius: 4px;
}

/* Sidebar rechts */
.sidebar {
    width: 220px;
    background: var(--weiss);
    padding: 20px;
    border-radius: 6px;
    height: fit-content;
    margin-top: 35px;

}

.sidebar a {
    color: var(--schriftgruen);
    text-decoration: none;
}

.sidebar a:hover {
    color: var(--blau);
}

.button
{
    background: #3EA2D1;
    color: #FFFFFF;
    padding: 15px;
    font-size: 12pt;
    font-weight: normal;
    border-radius: 4px;
	border: 0px none;
	width: 410px;
}


.qa-grid {display: grid;grid-template-columns: 50% 50%; border: 0px solid #ccc; border-radius: 1px; margin: 10px 0;}
.qa-grid dt, .qa-grid dd {padding: 10px 10px; margin: 0; border-bottom: 0px solid #e0e0e0;}
/* dt optisch hervorheben */
.qa-grid dt {font-weight: normal; background: #ffffff;}
/* Zebra-Streifen: jede zweite "Zeile" einfärben */
.qa-grid dt:nth-of-type(2n), .qa-grid dd:nth-of-type(2n) {background: #F3FCE2;}
/* letzte Zeile ohne untere Linie */
.qa-grid dd:last-of-type {border-bottom: none;}


/* Klassische Tabelle */
.text-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 20px;
}

/* Grüner, einspaltiger Tabellenkopf */
.text-table th {
  background: var(--gruen);
  color: var(--weiss);
  padding: 10px;
  text-align: left;
}

/* Standard-Hintergrund für ungerade Zeilen (Weiß) */
.text-table tbody tr {
  background: var(--weiss);
}

/* Standard-Styling für alle Textzellen */
.text-table td {
  padding: 15px;
  color: var(--schriftblau);
  width: 50%; /* Jede der zwei Spalten ist exakt gleich breit */
}

/* Jede zweite Zeile im Tabellenkörper wird hellgrün */
.text-table tbody tr:nth-child(even) {
  background: var(--hellgruen);
}

.table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 0px;
    padding: 20px; 
    text-align: center;   

}
.table th {
    background: var(--gruen);
    color: var(--weiss);
    margin-top: 20px;
    padding: 20px;
    
}

.preis-table {
    border:2px solid #7DB210; width: 100%;
    margin-top: 0px;
    padding: 20px; 
    text-align: center;  
    border-collapse: collapse;
    font-family: "Microsoft Sans Serif", sans-serif;
}

.preis-table th {
    background: var(--gruen);
    color: var(--weiss);
    margin-top: 10px;
    padding: 1px;
}


/* Footer */
.footer {
    text-align: center;
    padding: 10px;
    background: var(--gelb);
    color: var(--schriftgruen);
    margin-top: 20px;
    margin-left: 40px;
}

/* Responsive */
@media (max-width: 1100px) {
    .pagewrap {
        flex-direction: column;
        align-items: center;
    }

    .sidebar {
     	width-max: 30%;
     	order: 2;
    }

    .contentwrap {
     	order: 1;
    }

   .split {
    	display: flex;
    	gap: 20px;
    	margin-bottom: 20px;
    	margin-top: 20px;

}

	.split-left,
	.split-right {
    	flex: 1;
}

	 .responsive-img {
    	width: 100%;
    	height: auto;
    	border-radius: 4px;
}

}

@media (max-width: 900px) {
    .mainnav {
        flex-direction: column;
        gap: 0;
        padding: 0;
    }

    .mainnav .navitem {
        display: block;
        width: 100%;
        text-align: center;
        padding: 14px 0;
        border-bottom: 1px solid var(--gelb);
    }

    .mainnav .navitem:last-child {
        border-bottom: none;
    }
    
    .responsive-img {
    	width: 100%;
    	height: auto;
    	border-radius: 4px;
}

    h1 {
        font-size: 1.2rem;
        line-height: 1.2;
        margin-top: 10px;
        margin-bottom: 14px;
    }
    
    h2 {
        font-size: 1.1rem;
        line-height: 1.1;
        margin-top: 10px;
        margin-bottom: 10px;
    }

    .button {
    background: #3EA2D1;
    color: #FFFFFF;
    padding: 10px;
    font-size: 10pt;
    font-weight: normal;
    border-radius: 4px;
	border: 0px none;
	width: 100%;
}
	.text-table {
  	width: 100%;
  	border-collapse: collapse;
  	margin-top: 20px;
}	

}

@media (max-width: 600px) {
    .mainnav ul {
        flex-direction: column;
    }
    .responsive-img {
    width: 70%;
    height: auto;
    border-radius: 4px; 
    
}
	.nopunkt { 
	list-style-type: none; 
	padding-left: 0; }	
   
    .split {
        flex-direction: column;
    }
	
}	