


body {
font-family: 'Open Sans', "Arial", sans-serif;
max-width: 1250px;
background-size: cover; 
background-position: center;
background-image: linear-gradient(#000a1f 0%, #002337 30%, #002c42 50%, #00354e 70%, #005578 100%);
min-height: 100vh;
display: block;
margin-left: auto;
margin-right: auto;
padding-left:10px;
padding-right:10px;
}

/*       Fonts einbinden      */

/* open-sans-300 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  src: url('fonts/open-sans-v44-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* open-sans-300italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 300;
  src: url('fonts/open-sans-v44-latin-300italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* open-sans-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/open-sans-v44-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* open-sans-italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 400;
  src: url('fonts/open-sans-v44-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* open-sans-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 500;
  src: url('fonts/open-sans-v44-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* open-sans-500italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 500;
  src: url('fonts/open-sans-v44-latin-500italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* open-sans-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  src: url('fonts/open-sans-v44-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* open-sans-600italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 600;
  src: url('fonts/open-sans-v44-latin-600italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* open-sans-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  src: url('fonts/open-sans-v44-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* open-sans-700italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 700;
  src: url('fonts/open-sans-v44-latin-700italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* open-sans-800 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 800;
  src: url('fonts/open-sans-v44-latin-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* open-sans-800italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 800;
  src: url('fonts/open-sans-v44-latin-800italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/*       Ende Fonts einbinden      */


  


div {
  margin: 0;
  padding: 0;
}

hr {
	margin-top: 10px; 
	margin-bottom: 15px;
	color:white;
}

h1, h2, h3, h4, p, ul, ol {
    margin-top: 0;
    margin-bottom: 0;
    padding-top: 0;
    padding-bottom: 0;
    margin-left: 0;
    padding-left: 0;
}



h1 {
   font-family: 'Open Sans';
   font-weight: 700;
   color: #ffffff;
   text-align:left;
	font-size: 2.5em;
	padding-top: 25px;
	padding-bottom: 25px
	}
	
	@media screen and (max-width: 1250px) {
	h1 {
	font-size: 2.5em;
	}
	}
	@media screen and (max-width: 600px) {
	h1 {
	font-size: 2.0em;
	}
	}
	@media screen and (max-width: 400px){
	h1 {
	font-size: 1.5em;
}
}

   
   
   
h2 { 
   font-family: 'Open Sans';
   font-size: 1.7em;
   font-weight: 700;
   } 
   

/* Logo-Schrift im Header */

h3 { 
   font-family: 'Open Sans';
   font-size: 5.0em;
   font-weight: 900;
   color: white;
   }  
   
   @media screen and (max-width: 1250px) {
	h3 {
	font-size: 5.0em;
	}
	}
	@media screen and (max-width: 600px) {
	h3 {
	font-size: 3.0em;
	}
	}
	@media screen and (max-width: 400px){
	h3 {
	font-size: 2.5em;
}
}
   
   
/* Schrift für Teaser */
 
h4 {
   font-family: 'Open Sans';
   font-weight: 400;
   color: #ffffff;
   text-align:left;
font-size: 1.4em;
   margin:2px;

}

h5 {
   font-family: 'Open Sans';
   font-weight: 700;
   color: black;
   text-align:left;
	font-size: 1.8em;
padding-top: 25px;
	padding-bottom: 10px
}
	


   
   
   
p { 
   font-family: 'Open Sans';
   font-size: 1.3em;
   font-weight: 500;

   }
   
   
/* Standard */
.box a.text-link {
display: inline-block;
     font-size: 1.3em;
	color: #007ca3;
  text-decoration: none;
  font-weight: 600;
  letter-spacing: 0.05em;
}

/* Hover – wenn die Maus drüber ist */
.box a.text-link:hover {
  color: red;
text-decoration: underline;
  opacity: 0.75;
  border-bottom-color: transparent;
}

/* Active – im Moment des Klicks */
.box a.text-link:active {
  color: #aaaaaa;
  transform: scale(0.98);
}

/* Visited – bereits besuchte Links */
.box a.text-link:visited {
  color: #007ca3;
}


/* Visited + Hover kombiniert */
.box a.text-link:visited:hover {
  color: #007ca3;
  opacity: 0.75;
}

/* Focus – wichtig für Tastatur-Navigation & Barrierefreiheit */
.box a.text-link:focus {
  outline: 2px solid #ffffff;
  outline-offset: 4px;
}

/* Focus nur bei Tastatur (nicht bei Mausklick) */
.box a.text-link:focus:not(:focus-visible) {
  outline: none;
}

.box a.text-link:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 4px;
}

.content-sub a.text-link {
display: inline-block;
     font-size: 1.3em;
	color: #007ca3;
  text-decoration: none;
  font-weight: 600;
  letter-spacing: 0.05em;
  margin-top:5px;
}

/* Hover – wenn die Maus drüber ist */
.content-sub a.text-link:hover {
  color: red;
text-decoration: underline;
  opacity: 0.75;
  border-bottom-color: transparent;
}

/* Active – im Moment des Klicks */
.content-sub a.text-link:active {
  color: #aaaaaa;
  transform: scale(0.98);
}

/* Visited – bereits besuchte Links */
.content-sub a.text-link:visited {
  color: #007ca3;
}


/* Visited + Hover kombiniert */
.content-sub a.text-link:visited:hover {
  color: #007ca3;
  opacity: 0.75;
}

/* Focus – wichtig für Tastatur-Navigation & Barrierefreiheit */
.content-sub a.text-link:focus {
  outline: 2px solid #ffffff;
  outline-offset: 4px;
}

/* Focus nur bei Tastatur (nicht bei Mausklick) */
.content-sub a.text-link:focus:not(:focus-visible) {
  outline: none;
}

.content-sub a.text-link:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 4px;
}



   
   
   
img {
	max-width: 100%; 
	height: auto;
   }      
   
.box {
   padding-top:5px;
   padding-bottom:30px;
   padding-left:30px;
   padding-right:30px;
   margin:2px;
   background-color: white;
   border-radius: 18px;
   flex: 1 1 calc(33.333% - 100px); /* 3 Spalten minus Abstandsrechnung */
  box-sizing: border-box;         /* Padding/Border zählen zur Breite */
   }
   
   /* Responsive Anpassung: Auf Handys untereinander */
   
@media (max-width: 768px) {
  .box {
    flex: 1 1 100%; /* Jedes Element nimmt volle Breite ein */
  }
}


.single-box {
   padding-top:0px;
   padding-bottom:30px;
   padding-left:30px;
   padding-right:30px;
   margin-top: 50 px;
   background-color: white;
   border-radius: 18px;
}
   
   

.wordcloud {
	width: 100%; 
	height: auto;
}

.navi {
height:auto;
}

.main {
max-width: 100%; 
  display: flex;
  flex-wrap: wrap; /* Erlaubt Umbruch auf mobilen Geräten */
  gap: 20px;       /* Abstand zwischen den Elementen */
}

.teaser  {
margin-top:0px;
margin-bottom:10px;
color:white;
}

.imp {
color:white;
font-weight: 300;
font-size:0.8em;
}


	
.headline_unterseite {
font-family: Open Sans;
   font-weight: 700;
   color: black;
   text-align:left;
	font-size: 2.0em;
	line-height: 1.1em;
	padding-top: 25px;
	padding-bottom: 40px;
	}
	@media screen and (max-width: 1250px) {
	h1 {
	font-size: 2.5em;
	}
	}
	@media screen and (max-width: 600px) {
	h1 {
	font-size: 2em;
	}
	}
	@media screen and (max-width: 400px){
	h1 {
	font-size: 1.5em;
}
}	

.content-sub {
	padding-top:0px;
   padding-bottom:30px;
   padding-left:30px;
   padding-right:30px;
   margin-top: 50 px;
   background-color: white;
   border-radius: 18px;
}

.icon {
	width: 40%; 
	height: auto;
	margin:0px;
	padding:0px;
	display: block;
  margin-left: auto;
  margin-right: auto;
	}
	
	
/* Hamburger */

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
 
 
.header {
  position: sticky; 
  position: -webkit-sticky; /* Für Safari */
  top: 0;

  display: flex;
  align-items: center;
  justify-content: space-between;
  background: none;
  padding: 1rem;
  color: white;
	margin-top: 0;
    margin-bottom: 0;
    padding-top: 2;
    padding-bottom: 2;
    margin-left: 0;
    padding-left: 0;
}


header {
  position: sticky; 
  position: -webkit-sticky; /* Für Safari */
  top: 0;
}







/* Hamburger Button – IMMER sichtbar */
.hamburger {
  display: flex;
  margin-left: auto;
  flex-direction: column;
  gap: 3px;
  background: none;
  border: none;
  cursor: pointer;
}

.hamburger span {
  width: 25px;
  height: 3px;
  background: white;
  display: block;
}

/* Navigation – einklappbar */
.nav {
  position: absolute;
  top: 100%;
  right: 0;
  background: #222;
  display: none;
  flex-direction: column;
  min-width: 200px;
}

.nav a {
	font-family: Open Sans;
  color: white;
  text-decoration: none;
  padding: 1rem;
}

.nav a:hover {
  background: #333;
}

/* Geöffnet */
.nav.active {
  display: flex;
}

.menu-area {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0.5rem;
}

.nav-menu {
  display: none;
  flex-direction: column;
}

.nav-menu.open {
  display: flex;
}

.hamburger span {
  display: block;
  width: 25px;
  height: 3px;
  background-color: white;
}

.sample {
margin-top:5px;
margin-bottom:5px;
}



/* Formular */

.Formular {
    max-width: device-width;      /* Breite des Formulars */
	margin-right: auto;
	margin-top: 20px;
    color:white;
}

.field-group {
    margin-bottom: 15px;   /* Abstand zwischen den Feldern */
}

.field-group label {
    display: block;        /* Label erzwingt Zeilenumbruch */
    margin-bottom: 5px;    /* Abstand zum Eingabefeld */
    font-weight: bold;
}

.field-group input, 
.field-group textarea {
    width: 100%;           /* Nutzt volle Breite der .Formular Klasse */
    padding: 8px;
    box-sizing: border-box; /* Padding wird nicht zur Breite addiert */
    border: 1px solid #ccc;
    border-radius: 4px;
}

.h-captcha {
    margin-bottom: 15px;
    display: flex;
    justify-content: flex-end; /* hCaptcha-Widget ebenfalls rechts ausrichten */
}

button {
    float: left;          
    padding: 10px 20px;
    background-color: #007bff;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}

button:hover {
    background-color: #0056b3;
}

label {color: white;
}




