/* Dunkelblau:  #0A5B93 */
html,
header {
  margin: 0;
  padding: 0;
}
body {
  background-image: url(/bilder/Background_RB.jpg);
  background-size: 100% 100%;
  background-attachment: fixed;
  margin: 0;
  padding: 0;
  border: 0;
  font-family: Optima, Helvetica, Sans-Serif;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
ol,
ul,
td,
th,
blockquote {
  color: #333;
  font-weight: normal;
}

h1 {
  font-size: 36px;
}
h2 {
  font-size: 28px;
}
h3 {
  font-size: 20px;
}
h4 {
  font-size: 18px;
}
h5,
h6,
p,
ol,
ul,
td,
th,
blockquote,
li {
  font-size: 14px;
}

a,
a:visited {
  color: #333;
  transition: color 0.2s;
}
a:hover {
  color: black;
}

li {
  margin-bottom: 10px;
}

img.left {
  float: left;
  margin: 0px 15px 15px 0px;
}
img.right {
  float: right;
  margin: 0px 0px 15px 15px;
}
img.center {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

blockquote {
  font-style: italic;
}
.breaker {
  clear: both;
}
.caption {
  position: absolute;
  top: -2000px;
  left: 0px;
}

.teaserImgTable img {
  margin: 0px 10px 20px 0px;
}
.teaserImgTable td {
  vertical-align: top;
}
.teaserImgTable h5 {
  margin-top: 0px;
}

/* ---------- Seitenstruktur ----------------*/
header {
  margin: 0px auto 0px auto;
  width: 960px;
  box-shadow: 8px 8px 8px rgba(0, 0, 0, 0.4);
  background-color: white;
}
/* ------------- Beginn Meta-Navigation --------- */
.metaNav {
  margin: 0px auto 0px auto;
  padding: 4px 10px 6px 10px;
  width: 940px;
  background-color: #eee;
  /*	position: fixed; top: 0px;*/
}

#path {
  float: left;
  padding: 3px 0px 0px 2px;
  color: #666;
  font-size: 13px;
}
#path a {
  color: #666;
  text-decoration: none;
  background-color: rgba(255, 255, 255, 0.4);
  padding: 1px 4px 1px 4px;
}
#path a:hover {
  color: #333;
  background-color: rgba(255, 255, 255, 0.8);
}

#languageMenu {
  float: right;
  padding: 0px;
  margin: 0px 15px 0px 0px;
}
#languageMenu ul,
#languageMenu p,
#languageMenu li {
  display: inline;
  margin: 0px;
  padding: 0px;
  font-size: 13px;
}
#languageMenu p {
  color: #666;
  padding: 0px 5px 0px 0px;
}
#languageMenu li {
  list-style: none;
  margin: 0px 0px 0px 5px;
}
#languageMenu li span,
#languageMenu li a,
#languageMenu li a:visited {
  padding: 0px 6px 0px 6px;
  border-radius: 3px;
  font-size: 13px;
}
#languageMenu li span {
  color: black;
  border: 1px solid black;
}
#languageMenu li a,
#languageMenu li a:visited {
  color: black;
  text-decoration: none;
  border: 1px solid black;
  background-color: #eee;
}
#languageMenu li a:hover {
  color: #0a5b93;
  background-color: #eee;
}

/* ------------- Ende Meta-Navigation --------- */

nav {
  background-color: #eee;
  position: sticky;
  z-index: 100;
}

nav h2 {
  margin: 0;
  display: none;
}

.mainMenu h3 {
  margin: 0px;
}
.mainMenu h3 a {
  padding: 10px 12px 10px 12px;
  background-color: #0a5b93;
  border: 1px solid #0a5b93;
  border-width: 1px 1px 0px 1px;
  text-align: center;
  font-size: 22px;
  text-decoration: none;
  color: #eee;
  font-weight: normal;
  cursor: pointer;
  transition: 0.2s;
  border-radius: 5px 5px 0px 0px;
  float: left;
  margin-left: 15px;
}
.mainMenu h3 a:hover {
  color: #0a5b93;
  background-color: white;
  border-color: 1px solid #00899f;
}
.mainMenu h3 a.selected {
  color: #005c9d;
  background-color: white;
}
.mainMenu:hover .menu {
  display: block;
}
.menu:hover {
  display: block;
}

.menu {
  background-color: white;
  padding: 5px 5px 5px 5px;
  display: none;
  position: absolute;
  top: 33px;
  box-shadow: 8px 8px 8px rgba(0, 0, 0, 0.4);
  z-index: 200;
  border: 1px solid #0a5b93;
  border-width: 0px 1px 1px 1px;
  border-radius: 0px 0px 5px 5px;
}

.menuWrapper {
  z-index: 200;
  position: relative;
}

.menu li,
.menu p {
  list-style: none;
  margin: 0px;
  padding: 0px;
}
.menu a {
  display: block;
  font-size: 18px;
  text-decoration: none;
  color: #0a5b93;
  padding: 5px 10px 5px 10px;
  transition: background-color 0.2, color 0.2s;
}
.menu a.selected {
  background-color: #ddd;
}
.menu a:hover {
  background: #eee;
}

.mainMenu .hasSubMenu {
  display: none;
}

.mainMenu {
  margin-left: 10px;
  margin-right: 10px;
}

/* ------------ Themenbilder ------------ */
.mainIcon {
  position: absolute;
  right: 50%;
  top: 44px;
  margin-right: -480px;
  background-color: rgba(255, 255, 255, 0.9);
  padding: 10px 15px;
  text-align: center;
}

.imageBanner {
  background-color: white;
  height: 409px;
}

.mainImage {
  position: absolute;
  top: 0px;
}
.mainImage p {
  background-color: rgba(255, 255, 255, 0.8);
  text-align: center;
  font-size: 130%;
  position: absolute;
  bottom: 0px;
  opacity: 0;
  transition: opacity 0.5s;
  width: 930px;
  margin: 0px;
  padding: 10px 15px 10px 15px;
}
.imageBanner:hover .mainImage p {
  transition: opacity 0.5s;
  opacity: 1;
}
.imageBanner p {
  opacity: 0;
}
.mainImage:nth-child(1) {
  animation: xfade 24s 18s infinite;
}
.mainImage:nth-child(2) {
  animation: xfade 24s 12s infinite;
}
.mainImage:nth-child(3) {
  animation: xfade 24s 6s infinite;
}
.mainImage:nth-child(4) {
  animation: xfade 24s 0s infinite;
}
@keyframes xfade {
  /* Angelegt auf ~2 s Überblendung und 4 Bilder pro 24 Sekunden */
  0% {
    opacity: 1;
  } /* Erstes Bild sichtbar (letztes im HTML-Code) */
  22% {
    opacity: 1;
  } /* Beginn Ausblenden */
  30% {
    opacity: 0;
  } /* Ausgeblendet. Jetzt sind die anderen Bilder sichtbar */
  92% {
    opacity: 0;
  } /* Beginn des Einblendens erstes Bild */
  100% {
    opacity: 1;
  } /* Wieder voll sichtbar */
}

/* ------------ Content ------------ */

main {
  margin: 0px auto 30px auto;
  width: 860px;
  box-shadow: 8px 8px 8px rgba(0, 0, 0, 0.4);
  background-color: white;
  padding: 30px 50px 50px 50px;
}

main p,
main li,
main td,
main th {
  font-size: 12pt;
}

hr {
  width: 50%;
  border: 1px solid #999;
  border-width: 0px 0px 1px 0px;
  clear: both;
  margin-top: 15px;
  margin-bottom: 15px;
}

.teaser {
  margin: 25px 46px 15px 46px;
  width: 768px;
}

.teaser img {
  border: 1px solid #666;
  float: right;
  margin-left: 70px;
}

.teaser a {
  text-decoration: none;
}
.teaser a:hover {
  color: #00899f;
}
.teaser h3 {
  color: #333;
  line-height: 100%;
  margin: 5px 0px 5px 0px;
  text-align: left;
  font-size: 24px;
}
.teaser p {
  font-size: 15px;
  margin-top: 0px;
}
.datum {
  font-size: 12px;
  margin: 3px 0px 0px 0px;
}

.bmbf {
  display: flex;
  justify-content: center;
  text-align: center;
}
.bmbf img {
  width: 400px;
  margin: auto;
  display: block;
}

/* ---------------- Besondere Content-Elemente ---------- */

table.contentTable {
  border: none;
  border-spacing: 0px;
  border-collapse: collapse;
}
table.contentTable th {
  padding: 10px;
  border: 1px solid white;
  border-width: 0px 0px 0px 1px;
  background-color: #0a5b93;
  color: white;
  font-weight: bold;
}
table.contentTable th:nth-child(1) {
  border-width: 0px;
}
table.contentTable th:nth-last-child(1) {
  border-right: 1px solid #0a5b93;
}
table.contentTable td {
  padding: 5px;
  border: 1px solid #0a5b93;
  vertical-align: top;
}
table.noTableHeader {
  border-top: 1px solid #0a5b93;
}

table.layout {
  margin: 0px;
  padding: 0px;
}
table.layout tr {
  border: 0px;
  padding: 0px;
  margin: 0px;
}
table.layout td {
  border: 0px;
  padding: 0px;
  margin: 0px;
}

.printLogo {
  display: none;
}

.center {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.content a.external {
  padding-right: 16px;
  background-image: url(/bilder/External_Link_Pfeil.png);
  background-repeat: no-repeat;
  background-position: right center;
}
.content a.external:hover {
  background-image: url(/bilder/External_Link_Pfeil_hover.png);
}

.address {
  unicode-bidi: bidi-override;
  direction: rtl;
}
.blockit {
  display: none;
}

.bildunterschrift {
  font-style: italic;
  font-size: 90%;
  text-align: center;
}

.references .source {
  display: block;
  color: #666;
}
.references .summary {
  display: block;
  font-style: italic;
}
.references .meta {
  display: block;
  color: #666;
  font-size: 80%;
}
.references li {
  margin-bottom: 10px;
}
.references a {
  font-weight: bold;
}

/* ----------------- Footer ------------ */

footer {
  position: fixed;
  bottom: 0px;
  left: 50%;
  background-color: #eee;
  width: 930px;
  margin-left: -480px;
  padding: 0px 15px 0px 15px;
}
footer p,
footer a {
  color: #333;
  font-size: 12px;
}
footer a:hover {
  color: #666;
}

footer p.socialMedia {
  float: left;
}
footer p.copyright {
  float: right;
}

/*------------------Partner---------------*/
.partner {
  margin-bottom: 20px;
  overflow: hidden; /* Damit das Containerelement die floatenden Elemente umfasst */
}

.partner-item {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  overflow: hidden;
  padding: 20px;
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  margin-bottom: 20px;
}

.partner-logo {
  max-width: 100px;
  height: auto;
  margin: 0 0 10px 10px;
  float: right;
}

.partner-text {
  text-align: justify;
}
.partner-details {
  text-align: justify;
  max-width: calc(100% - 120px); /* Abzug des Logos und Margin */
}

.logo-tabelle {
  width: 80%;
  border-collapse: collapse;
  margin: 20px 0;
}

.logo-tabelle th,
.logo-tabelle td {
  border: 1px solid #ddd;
  padding: 10px;
  text-align: center;
  width: 25%;
}

.logo-tabelle img {
  max-width: 150px; /* Passen Sie diese Größe nach Bedarf an */
  height: auto;
}
