

  @font-face {
    font-family: 'Ropa Sans';
    src: url('font/RopaSans-Regular.ttf') format('truetype');
    font-weight: normal;
  }  
  @font-face {
    font-family: 'Ropa Sans';
    src: url('font/RopaSans-Italic.ttf') format('truetype');
    font-style: italic;
  }  

  body {
    font-family: 'Ropa Sans', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; 
  }

  footer {
    font-family: 'Ropa Sans', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; 
  }

  h1,h2,h3,h4,h5,h6,.accordionHeader {

    
    color: #015CAA !important;
    
    letter-spacing: 0.2px;
  }

h1 {
  font-size: 48px; /* Ausgangsgröße */
  white-space: nowrap; /* Kein Zeilenumbruch */
  overflow: hidden; /* Verhindert Überlauf */
  text-overflow: ellipsis; /* Fügt "..." hinzu bei zu langem Text */
  max-width: 100%; /* Passt sich an den Container an */
  
  line-height: 48px;
  padding-bottom: 14px;
}

/* Spinner zentral im #welcometext platzieren */

.loadDummy {
  min-height: 600px;
}
#spinner-container {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
}

/* Spinner mit deinen Farben */
.spinner {
  width: 60px;
  height: 60px;
  border: 8px solid #eef7ff;     /* hellblau als Hintergrundring */
  border-top: 8px solid #015caa; /* dunkelblau als aktiver Ring */
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin-top: 350px;;
}

/* Drehanimation */
@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}





.accordionHeader {

  font-size: 22px;
}
h2 {
  font-size: 42px;
  padding-bottom: 18px;
}

h3 {
  line-height: 56px;
}

.boxPadding {
padding-top:50px;
padding-bottom:20px;

}


  .parentCenter {
    display: flex;
    /*justify-content: center; /* Horizontal zentrieren */
    align-items: center; /* Vertikal zentrieren */
  }


  .navItem_custom {
    color: #015CAA !important;
    letter-spacing: 0.2px;
font-size: 18px;
  }


.blueBox {
  background-color: #EEF7FF;
}
  
.darkblueBox{
  background-color: #013766;
  color: #fff;
}

.darkblueBox h2, .mediumblueBox h2 {
  color: #EEF7FF !important;
}
.mediumblueBox{
  background-color: #015CAA;
  color:#fff;
}
img {
  width: 100%;
  height: auto;
}

.iconImg {
  width: 32px;
  height: 32px;
  margin: 5px;;
}


.bigIconImg {
  width: 57px;
  height: 57px;
  margin: 15px 5px;
}
.smallIconImg{
  width: 24px;
  height: 24px;
  margin: 5px;;
}
.btnIcon {
  width: 24px;
  height: 24px;
}

.imgPortrait {
  height:250px;
}

  .navItem_custom_active {
    border-bottom: 3px solid #F07D00;

  }

  .quote {
    color: #000;
font-size: 35px;
font-style: normal;
font-weight: 400;
line-height: normal; 
padding-bottom: 15px;;
  } 

  .author {
    color: #000;
font-size: 24px;
font-style: normal;
font-weight: 300;
line-height: normal; 
  }

  .quoteText {
    color: #000;
font-size: 20px;
font-style: normal;
font-weight: 300;
line-height: normal; 
  }

  .quoteBox {    
text-align: center;
    background: #FAF3FF
  }

  a {
    color: #000;
  }

  .gallery-container {
    position: relative;
    overflow: hidden;
}


.gallery {
    display: flex;
    gap: 30px; /* Abstand zwischen den Bildern */
    transition: transform 0.3s ease-in-out;
}
.gallery div {
    flex-shrink: 0;
    color: white;
    height: 400px; /* Setze die gewünschte Höhe */
  overflow: hidden; /* Verhindert das Überlaufen von Bildern */
}


.gallery img {
  height: 360px; /* Setzt die Höhe des Bildes auf 100% der Container-Höhe */
  width: auto; /* Beibehaltung des Seitenverhältnisses */
  display: block; /* Entfernt den unteren Abstand */
  margin: 0 auto; /* Zentriert das Bild horizontal */
}

.galleryImg {
  margin-bottom: 20px;
}



.date {
  font-size: 0.9em;
  color: #888;
  margin: 5px 0 10px;
}


.right-aligned-links {
  display: flex;
  justify-content: flex-end; /* Rechtsbündig ausrichten */
  gap: 10px; /* Abstand zwischen den Links */
}

.right-aligned-links a {
  text-decoration: none;
  color: blue; /* Beispiel: Links in Blau */
  align-self: center; /* Links vertikal in der Mitte des Containers ausrichten */
}

.underlined-link {
  text-decoration: underline;
  color:#015CAA;
}

.btn-custom { 
  background-color: #015CAA; /* Eigene Hintergrundfarbe */ 
  color: #fff; /* Textfarbe */ 
  border-color: #015CAA; /* Rahmenfarbe */ } 

.btn-custom:hover { 
  background-color: #0068c2; 
  color:#fff;
  /* Hintergrundfarbe bei Hover */ 
  border-color: #015CAA; /* Rahmenfarbe bei Hover */ 
}


.btn-outline-custom { 
  background-color: #fff; /* Eigene Hintergrundfarbe */ 
  color: #015CAA; /* Textfarbe */ 
  border-color: #015CAA; /* Rahmenfarbe */ } 

.btn-outline-custom:hover { 
  background-color: #015CAA; 
  color:#fff;
  /* Hintergrundfarbe bei Hover */ 
  border-color: #015CAA; /* Rahmenfarbe bei Hover */ 
}

p {
  font-size: 18px;
}

.subtitle {
line-height: 42px;
letter-spacing: 0.8px;
  color:white;
  font-size: 32px;
}

.arrow-right {
  height: auto;
  
  transform: rotate(180deg); /* Bild um 180° drehen */
}

.arrow-left {
  height: auto;
}



.arrowbutton:hover .arrow-right {
  content:url(img/arrow-hover.svg);
}

.arrowbutton:hover .arrow-left {
  content:url(img/arrow-hover.svg);
}

dl,dt,dd {
  font-size: 18px;;
}

.nodecoLink
{
  text-decoration: none;
}

.strokeColor {
  stroke: #013766;
}

.fillColor {
  fill: #013766;
}
@media (max-width: 991.98px) {
  img {
    margin-top: 1rem;    /* oberer Abstand */
    margin-bottom: 1rem; /* unterer Abstand */
  }
}


@media (max-width: 991.98px) {
  .navbar, .navbar-collapse {
    background-color: #eef7ff !important;
  }
}

@media (max-width: 991.98px) {
  .navbar-collapse {
    padding: 1rem;
  }
}

@media (max-width: 991.98px) {

  /* Texte in Header-Bereich zentrieren */
  .parentCenter {
    flex-direction: column;
    text-align: center;
  }

  /* Button-Stapelung auf kleineren Geräten */
  .btn {
    margin-top: 10px;
    width: 100%;
  }

  .btn + .btn {
    margin-left: 0 !important;
  }


  .subtitle {
    font-size: 24px;
    line-height: 32px;
  }

  h1 {
    font-size: 32px !important;
    line-height: 44px; /* mehr Abstand zwischen den Zeilen */
    white-space: normal;
  }

  h2 {
    font-size: 28px !important;
    text-align: center;
  }

  p, .quoteText, .author, .quote, dl, dt, dd {
    font-size: 16px;
  }




  .right-aligned-links {
    justify-content: center;
    margin-top: 20px;
  }

  .col-md-3, .col-md-4, .col-md-7, .col-md-8, .col-md-12 {
    text-align: left;
    padding: 10px;
  }
}

/* Logo in Navbar (nur auf mobil sichtbar, wenn aktiviert durch JS) */
#navbarLogo {
  transition: opacity 0.3s ease-in-out;
}
@media (max-width: 991.98px) {
  #navbarLogo {
    display: block;
    margin-left: auto;
    margin-right: auto;
  }

  .navbar.scrolled #navbarLogo {
    display: block;
  }
}
@media (max-width: 767.98px) {
  .mobile-logo-container {
    flex-grow: 1;
  }

  .navbar-toggler {
    margin-left: auto;
  }

  .navbar.scrolled #navbarLogo {
    display: block !important;
  }

  #navbarLogo.d-none {
    display: none !important;
  }
}
