@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300; /* Light */
  font-display: swap;
  src: url('../fonts/Montserrat-Light.woff2') format('woff2');
}

@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400; /* Regular */
  font-display: swap;
  src: url('../fonts/Montserrat-Regular.woff2') format('woff2');
}

@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700; /* Bold */
  font-display: swap;
  src: url('../fonts/Montserrat-Bold.woff2') format('woff2');
}

@font-face {
  font-family: 'Carlito';
  font-style: normal;
  font-weight: 300; /* Light */
  font-display: swap;
  src: url('../fonts/Carlito-Regular.woff') format('woff');
}

@font-face {
  font-family: 'Carlito';
  font-style: normal;
  font-weight: 700; /* Bold */
  font-display: swap;
  src: url('../fonts/Carlito-Bold.woff') format('woff');
}




body {
  font-family: 'Montserrat', sans-serif;
	font-weight: 300;
  scroll-behavior: smooth;
}

b, strong {
  font-weight: 700; 
}

/* LOGO STARTSEITE */

.jobtitel {
  font-family: Carlito, sans-serif;
	font-size:0.75rem;
  line-height:0.75rem;  
	color:black;
	padding: 0px 0px 0px 0px !important;
	margin: 0px 0px 0px 0px !important;
}

.h1-startseite {
	margin-top:0px;
  font-size:1.5rem;
	line-height:1.6rem;
	padding-bottom:0.5rem;
	font-family: 'Calibri', Carlito, sans-serif;
	font-weight:normal;
}

.logotext-letzte {
	font-size:1.1rem; 
	padding:0px;
}

/* Logotexte doppelte Groesse */
@media (min-width: 768px) {
  .jobtitel {
    font-size:1.5rem;
    line-height:1.5rem;   
  }
  .h1-startseite {
	  padding-bottom:1rem;
	  font-size:3.0rem;
	  line-height:3.2rem;
  }
	.logotext-letzte {
	  font-size:2.2rem; 
  }
}

/* Logo responsiv skalieren */
.svg-container {
  width: 100%;
  max-width: 400px;  /* Max-Größe */
  margin: 0 auto;    /* Zentriert */
}

@media (max-width: 768px) {
  .svg-container {
    max-width: 200px;  /* Kleiner auf Handy */
  }
}


.smallcaps {
		font-variant: small-caps;
	}

/* EDIT-MODE */

.EditmodeZwischenhead {
	font-weight:bold;
	}



a {
	text-decoration:none;
	color:black;
	}

a[href$=".pdf"]::before {
  content: "\f640";           /* Unicode U+F640 für bi-file-pdf */
  font-family: "bootstrap-icons";
  font-size: 1.2em;
  margin-right: 0.5em;
  vertical-align: middle;
}

.farbe01 {
	color:white;
	}

.AC-dunkelblau {
	color: var(--LogoDunkelblau);
	}

.AC-mittelblau {
	color: var(--LogoMittelblau);
	}





/* NAV-BAR */
.navbar-custom {
  background-color: var(--LogoDunkelblau) !important; 
}

.nav-link {
	color: var(--LogoHellgrau) !important;
	}



/* Desktop: Text-Logo */
.navbar-brand.logo {
  font-size: 1.1rem;
  font-weight: 700;
  color: white !important;
}


/* Hamburger weiß machen */
.navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255,255,255,1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* Border auch weiß */
.navbar-toggler {
  border-color: rgba(255,255,255,0.5) !important;
}

.navbar-toggler:focus,
.navbar-toggler:active,
.navbar-toggler[aria-expanded="true"] {
  box-shadow: 0 0 0 0.2rem rgba(255, 255, 255, 0.25) !important;
  background-color: rgba(255, 255, 255, 0.1) !important;
}



/* MENU-BAR BREITE KORRIGIEREN*/
@media (max-width: 991px) {
  .navbar.fixed-top {
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  
  .navbar.fixed-top .container-fluid {
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: 100vw !important;
  }
}





/* WEIERLESEN IN SLIDE-SHOW*/

.weiterlesen {
	font-family: 'Montserrat', sans-serif !important;;
	color:black;
	text-decoration:none;
}

a.weiterlesen {
  color:black;
	text-decoration:none;
	position: relative;
  padding-right: 20px; /* Platz für Icon */
	}

a.weiterlesen::after {
	content: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23FFFFFF'><path d='M 8 0 l 8 7 -8 8 -1.4 -1.4 L 12.5 8 H 0 V 6 h 12.5 L 6.6 1.4z'/></svg>");
  width: 16px; height: 16px; vertical-align: middle;
	/* content: ">"; */
  position: absolute;
  /* right: 0; top: 50%; transform: translateY(-50%);*/
  /* color: #000000;*/
  /*font-size: 1.7em;*/
}



.carousel-control-next-icon,
.carousel-control-prev-icon {
  filter: invert(1) grayscale(100); /* Macht es weiß/schwarz */
	position: absolute; top: var(--vversatzpfeileprozent); transform: translateY(-50%);
}


section {
  padding-top: 80px;
}


.hero {
  background: url('../images/img08.jpg') center/cover no-repeat;
  /*color: white;*/
  padding: 0;
}

.hero .carousel,
.hero .carousel-inner,
.hero .carousel-item {
        height: 100vh;
}

.hero .carousel-item {
  background-size: cover;
  background-position: center;
  position: relative;
}



.hero .overlay {
  position: absolute;
  inset: 0;
  display: flex;
  /*text-align: left;*/
	/*border: 5px green solid;*/
  color: black;
  padding-top: 80px; /* Navbar-Ausgleich */

}

/* Sonderfall Logo / Startseite */
.overlaylogo {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: black;
  padding-top: 80px; /* Navbar-Ausgleich */
}

/* Verschiebung per Variable */
.slidesinner {
	position:absolute;
	/*border: 1px solid red;*/
	text-align:center;
	/*width:100vw;*/
	left: var(--hversatz01prozent);
  top: var(--vversatz01prozent);
			/*margin-left:px;*/


}

.lead {
  padding-left: 2rem;
	padding-right: 2rem;
}

/*.overlay {
 background-color: rgba(0,0,0,0.6);
 height: 100%;
}*/


/*.logo {
  font-weight: 700;
  font-size: 1.2rem;
}*/

/*.overlay {
 background-color: rgba(0,0,0,0.6);
 height: 100%;
}*/



.footertext1, .footer-header {
  color:white;
}

.ohne-bullets {
  list-style-type: none;
  padding-left:0px;
}

/* Logo-Animation */
  svg {
    width: 400px;
    height: auto;
  }

  .build {
    transform-origin: bottom center;
    transform-box: fill-box;
    transform: scaleY(0);
    animation: grow 1s ease-out forwards;
  }

  .delay-1 { animation-delay: 0.4s; }
  .delay-2 { animation-delay: 0.6s; }
  .delay-3 { animation-delay: 0.8s; }
  .delay-4 { animation-delay: 1.0s; }

  @keyframes grow {
    from { transform: scaleY(0); }
    to   { transform: scaleY(1); }
  }


/* SPALTEN */


  .spaltencontainer1,
  .spaltencontainer2,
  .spaltencontainer3{
		text-align:left;
      columns: 1;
      column-gap: 2rem;
      column-rule: 1px solid #ccc; 
      padding: 1rem;
      max-width: 1200px;
      margin: 0 auto;
		  hyphens: auto;
      orphans: 3;                /* Mind. 3 Zeilen am Spaltenende */
      widows: 3;                 /* Mind. 3 Zeilen am Spaltenanfang */
  }


@media (min-width: 768px) {
	.spaltencontainer2 {
		/*text-align:left;*/
      columns: 2;                
  }
}

@media (min-width: 768px) {
  .spaltencontainer3 {
      columns: 3;
    }
}

img.bildaufspaltenbreite {
	width:100%
	}

/* OVERLAY */

  /* Vollflächiger dunkler Overlay-Hintergrund */
  .overlax, .overlayAGB, .overlayIMPRINT {
    position: fixed;
    inset: 0; /* top:0; right:0; bottom:0; left:0; */
    background-color: rgba(0, 0, 0, 0.6); /* abgedunkelt */ /* [web:4][web:8] */
    display: flex;
    align-items: center;
    justify-content: center; /* zentriert das Dialogfenster */ /* [web:7][web:13] */
    z-index: 9999;
  }

  /* Das eigentliche Dialogfenster */
  .overlay-box {
    background: #fff;
    max-width: 600px;
    width: 90%;
    max-height: 80vh; /* damit Platz zum Scrollen bleibt */ /* [web:6] */
    border-radius: 4px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.4);
    display: flex;
    flex-direction: column;
  }

  /* Scrollbarer Inhaltsbereich */
  .overlay-content {
    padding: 1.5rem;
    overflow: auto;  /* Inhalt scrollt, wenn zu lang */ /* [web:6][web:12] */
  }

  /* Button-Bereich */
  .overlay-footer {
    padding: 0.75rem 1.5rem 1rem;
    text-align: right;
    border-top: 1px solid #ddd;
  }

  .overlay-close-btn {
    padding: 0.5rem 1rem;
    border-radius: 3px;
    border: none;
    background: #444;
    color: #fff;
    cursor: pointer;
  }

  .overlay-close-btn:hover {
    background: #000;
  }

  /* Overlay ausblenden */
  .overlax.hiddy, overlayAGB.hiddy, .overlayIMPRINT.hiddy {
    display: none;
  }

.hiddy {
    display: none;
  }





