/* preview */
#previewList { bottom: 35px !important; }
.icons {height:14px;margin-bottom:-3px;width:auto}

/* Schriften */
@font-face {
    font-family: "Poppins Regular";
	src: url("fonts/Poppins-Regular.eot?#iefix") format("eot"), url("fonts/Poppins-Regular.woff2") format("woff2"), url("fonts/Poppins-Regular.woff") format("woff"), url("fonts/Poppins-Regular.ttf") format("truetype");    
}

body { 
	/* top:0;z-index:-1;position:absolute; */
	/* margin: 0 0 32px; */
  margin: 0px;
  padding: 0px;

  background-color: var(--pageColorBackground) !important;
  color: var(--linkColorMenuItem);

	color: var(--textColorContent);

	/* background-color:#FFFFFF !important; */

	/* hellgrauer Hintergrund */
  /* background-color:#d3d3d3 !important; */  

	font-family: 'Poppins Regular','Century Gothic',Arial,sans-serif;

	margin:0;padding:0;height:100%;width:100%; 
	background:no-repeat center center fixed; 
	
	/* -webkit-background-size:cover;-moz-background-size:cover;-o-background-size:cover;background-size:cover; */

	 font-size: 16px;
    /* damit kein horizontales Scrollen */
    overflow-x: hidden;
}

#cms_inhaltsbereich {	
		padding-bottom: 80px
}

/* Bei Startseite mehr Abstand oben bei 1. Slide */
#cmsPage703 .onePageLayoutFirst {
    padding-top: 90px;
  }

.schrift_standard {
	font-size: 1.5rem;
}

/* Layerslider Buttons Navigation Link und rechts */

/* Formatierung Layerslider auf der Projekt Detailseite */
#onePageLayout724 .ls-container {
  position: relative;
  overflow: visible; /* wichtig, damit Pfeile außerhalb sichtbar sind */
}

/* Bei Layerslider Skript die vor und weiter-Schalter ausserhalb des Bildes */
#onePageLayout724 .ls-nav-prev, #onePageLayout724 .ls-nav-next {
  /* Hiermit erfolgt bei Hover keine verformung des Kreises */ 
  position: absolute;
  top: calc(50% + 20px); /* Mitte + haelfe Buttonhoehe */
  transform: translateY(-50%); 
  /* right: -4px; */
  width: 40px;
  height: 40px; 
  background-color: white;
  border: 2px solid #000000 !important; /* Schwarze Umrandung */
  border-radius: 50%; /* Kreisform */
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  cursor: pointer;
}

/* Pfeil-Icon innerhalb des Buttons */
#onePageLayout724 .ls-nav-prev::before, #onePageLayout724 .ls-nav-next::before {
  content: '';
  display: inline-block;
  width: 10px;
  height: 10px;
  border-top: 2px solid black;
  border-right: 2px solid black;  
}

/* Pfeil innerhalb Kreis mittig */
#onePageLayout724 .ls-nav-prev::before {
    margin-right: -4px;
}

/* Pfeil innerhalb Kreis mittig */
#onePageLayout724 .ls-nav-next::before {
    margin-left: -4px;
}

/* Pfeil bei After ausblenden, sonst doppelt */
#onePageLayout724 .ls-nav-prev::after, #onePageLayout724 .ls-nav-next::after {
  content: none !important;
  display: none !important;  
}

#onePageLayout724 .ls-nav-prev:hover, #onePageLayout724 .ls-nav-next:hover {  
  background-color: #d3d3d3;
}

/* Richtungspfeile */
#onePageLayout724 .ls-nav-prev::before, #onePageLayout724 .ls-nav-prev::after {
  transform: rotate(-135deg); /* ← Zurück */  
}

#onePageLayout724 .ls-nav-next::before, #onePageLayout724 .ls-nav-next::after {
  transform: rotate(45deg); /* → Weiter */
}

/* Links ausserhalb */
#onePageLayout724 .ls-nav-prev {
  /* left: -60px !important; */
}

/* Rechts ausserhalb */
#onePageLayout724 .ls-nav-next {
  /* right: -60px !important; */
}


/* Fade-in Effekt fuer Bilder */
img.fade-in {
  opacity: 0;
  transition: opacity 1s ease;
}

img.fade-in.loaded {
  opacity: 1;
}

#bgImgContainer{top:0;z-index:-1;position:absolute;
	font-family: 'Poppins Regular','Century Gothic',Arial,sans-serif;
	margin:0;padding:0;height:100%;width:100%;background:no-repeat center center fixed;background-color:#2D2D3B;-webkit-background-size:cover;-moz-background-size:cover;-o-background-size:cover;background-size:cover;opacity:0;-moz-transition:opacity 2s ease;-webkit-transition:opacity 2s ease;transition:opacity 2s ease
}

/* Fuer Header und Footer breiter */
.wrapperBig {
    width: 2500px; /* 1920px */
    max-width: calc(100% - 100px);
    margin-left: auto;
    margin-right: auto;
}

header .wrapperBig {
    /* position: relative; */
}

header {
  height: 150px !important;
}

/* Header einblenden bei Init und Scrollup */
header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
  transition: transform 0.25s ease, background-color 0.25s ease;
}

/* Header ausblenden bei Scrolldown */
header.hide {
  transform: translateY(-100%);
}

header.scrolled {
  /* moeglicher Effekt beim gescrollten header */
}

.wrapper {
    width: 1460px; /* 1240px */
    max-width: calc(100% - 100px);
    margin-left: auto;
    margin-right: auto;    
}

/* Wrapper Schmal innerhalb Wrapper - ohne Rand links rechts */
.wrapperInsideContent {
    width: 1460px; /* 1240px */    
    /* max-width: calc(100% - 100px); */
    max-width: 100%; 
    margin-left: auto;
    margin-right: auto;    
}

header .wrapper {
    /* Header wrapper ausrichten - nicht mehr noetig da Header Big */
    position: relative; 
}

.wrapperSmall {
    /* display: block; */
    width: 1000px;
    max-width: calc(100% - 100px);
    margin-left: auto;
    margin-right: auto;    
}

/* Standard-Hyperlinks (nicht intern oder extern) mit easy-Effekt formatieren
    Anm.: fuer Impressum und Datenschutzerklaerung */
.wrapperSmall a {
    letter-spacing: 0px;
    transition: letter-spacing 0.3s ease;
}

.wrapperSmall a:hover {
    letter-spacing: 1.3px;
}

/*
img{border:0;max-width:100%}
a{color:#574940;text-decoration:none}
a:hover{text-decoration:underline}
h1{font-size:22px;color:#111;margin:16px 0}
*/

.hilfstitel{position:absolute;left:-3000px;top:-1000px}
.hidden{position:absolute; left:-9000px; top:-9000px; margin:0; padding:0}
.clear{clear:both}

/* Header-Bereich */
header{position:fixed;z-index:100;top:0;width:100%;height:110px;
  background:rgba(45,45,59,.8); /* grau: rgba(45,45,59,.8), modern rot: e8a8a8; helles rot: f7d6d6, moderates rot: #cc6f6f, sattes rot: #b84f4f */
}
#container1{height:79px}
#container1 a{display:block;height:100%;float:left}
#logo{
  padding:0;
  height: 100px !important;
}

/* Slogan zum Logo */

.logoWrapper {
  display: flex;
  align-items: center;
  gap: 1rem; /* Abstand zwischen Logo und Slogan */

  flex: 1; /* linke Spalte */
}

#logo img {
  /* height: 100%; */
}

#logoSlogan span {
  font-size: 1.2rem;
  font-weight: 500;
  color:#FDFEFC;  /* heller weisston: FDFEFC oder scharz 000000 */
  text-transform:uppercase;
}

#container2 {
	position:relative; 
	background:#2d2d3b;

	display: flex;
  justify-content: center; /* horizontal */
  align-items: center;

	width: 100%;
	height: 50px;
	z-index:100;
}
#container2 #navi-menu > ul {display: inline-block}
#container2 nav {
	/* max-width:1200px; */
	/* position:relative; */
	/* margin:0 auto; */
}
#container2 #navi-menu {height:100%}

#container2 #navi-menu .menulink1 {
    font-size: 1rem;
    letter-spacing: 0px;
    transition: letter-spacing 0.3s ease;
}

/*
#container2 .nav-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 1rem;
  padding-bottom: 1rem;
  flex-wrap: wrap; 
}
*/

#container2 .nav-container {
    display: flex;
    flex-direction: row; /* wichtig */
    justify-content: space-between;
    align-items: center;
    width: 100%;
    flex-wrap: nowrap; /* verhindert Umbruch */
}

#container2 {
  height: 150px !important;
  background-color: #000000 !important;
}

#container2 a {
  border: none !important;
}

#container2 .wrapperBig {
  display: flex;
  justify-content: space-between; /* verteilt die drei Spalten */
  align-items: center;            /* vertikale Ausrichtung */
  flex-wrap: nowrap;              /* keine Zeilenumbrüche */
  padding: 0 20px;                /* optionaler Innenabstand */
}

.nav-container {
  flex: 2;              /* mittlere Spalte */
  display: flex;
  justify-content: center; /* Menü mittig */
}

#container2 .nav-right {
    position: relative; /* wichtig */
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    gap: 12px; /* optionaler Abstand */
    flex: 0 0 auto; /* verhindert Strecken */
    min-width: auto; /* verhindert Umbruch */
}

.nav-right {
  flex: 1;              /* rechte Spalte */
  display: flex;
  justify-content: flex-end; /* Inhalte rechtsbündig */
  align-items: center;
  gap: 10px;            /* Abstand zwischen Suche, Icons, Menübutton */
}

.nav-right form {
  display: flex;
  align-items: center;
}

#container2 .nav-left {
    display: flex;
    align-items: center;
}

/*
#container2 .nav-right {
  flex: 1;
  display: flex;
  justify-content: flex-end;
  min-width: 200px;
}
*/

#container2 ul{margin:0;padding:0}
#container2 ul ul{min-height:0;overflow:hidden;min-width:100%;padding-bottom:0;position:absolute;
  top:40px;
  left:0;-moz-transition:min-height .2s ease .5s;-webkit-transition:min-height .2s ease .5s;transition:min-height .2s ease .5s
}
#container2 li li{overflow:hidden;height:0;display:block;float:none;background:rgba(45,45,59,.8);-moz-transition:height .2s ease;-webkit-transition:height .2s ease;transition:height .2s ease}
#container2 li li li{-moz-transition:height .2s ease .5s;-webkit-transition:height .2s ease .5s;transition:height .2s ease .5s}
#container2 li:hover > ul{overflow:visible;height:auto;min-height:100%}
#container2 li:hover > ul > li{height:35px}
#container2 ul ul ul{left:100%;top:0;background:rgba(255,255,255,.8);overflow-x:visible!important;overflow-y:auto!important;max-height:525px}
#container2 li li{position:static}
#container2 li li ul{position:absolute}
#container2 .menuentry3a > a,#container2 .menuentry2a > a,#container2 li.menutitle-firsta > a,#container2 li.menutitlea > a,#container2 li.menutitle-lasta > a{font-weight:700}
#container2 .menuentry3a > a{font-weight:700}
#container4 .menuentry2a > a,#container4 .menuentry3a > a{font-weight:700}
#menuBtn{
  display:none;
  background-size:40px;
  /* position:absolute;
  right:0; */
  /* top:0; */
  height:40px;
  text-align:center;
  line-height:40px;color:#fff;
  font-size:18px;
  /* width:50px */
}
#menuBtn img{height:35px;margin:2px}

/* Aufklapp Pfeil im mobile Menue */
.showSub svg {
  width: 48px;
  height: 48px;
  fill: white;
}

/* Pfeil rotiert, wenn Menuepunkt aufgeklappt in mobile Menue */
.showSub{display:none;background-size:30px;position:absolute;right:0;top:0;height:48px;text-align:center;line-height:48px;color:#fff;font-size:18px;width:50px;transform:rotate(0);-webkit-transform:rotate(0);-moz-transition:transform .2s ease;-webkit-transition:-webkit-transform .2s ease;transition:transform .2s ease}

#container2 li li li{background:transparent}
#container2 li li li > a{color:#555}
#container2 li li a{position:relative;white-space:nowrap;border:0;padding:8px 12px 8px 6px;color:#f0f0f0}
#container2 li{position:relative;list-style:none;float:left}
#container2 #navi-menu > ul > li{display:inline-block;height:31px}
#container2 #navi-menu > ul > li:last-of-type > a{border:0}
#container2 li{position:relative}
#container2 a{text-align:left;
  border-right:1px solid #f0f0f0;
  /* font-size:14px; */
  color:#f0f0f0;
  text-decoration:none;
  display:block;
}
#container2 #navi-menu > ul > li > a{
	margin: 7px 0;
	padding: 0px 20px 0px 20px;
}
#container2 nav{width:100%;clear:both;height:100%}
#containerSeitenpfad{height:15px; overflow:hidden}

/* Seitennavigaion */
#side-nav{position:fixed;right:0;top:0;height:100%;display:table}
#side-nav #navi-menu{display:table-cell;height:100%;vertical-align:middle;padding-top:125px;padding-bottom:25px}
#side-nav ul{padding:0;margin:0}
#side-nav li{list-style:none;padding:0;margin:0 4px 4px 0}
#side-nav li:last-of-type{margin-bottom:0}
#side-nav li a{line-height:25px;font-size:11px;display:block;width:70px;height:50px;padding:10px 0;background-color:#7C0000;color:#fff;text-decoration:none;text-align:center;opacity:.8}
#seitenpfadArea{text-transform:uppercase;color:#fff;font-size:11px;overflow:hidden;white-space:nowrap}
#container3{font-size:14px;border:1px solid #888;margin:0 auto;background:rgba(255,255,255,.8);padding-bottom:40px;width:1200px;min-height:375px}
#container4{display:table-cell;margin-top:58px;margin-right:10px;width:300px;float:left;overflow:hidden}
#container4 ul ul{padding-left:12px}
#container4 ul{min-width:100%;margin-top:0}
#container4 li li{list-style-type:circle}
#container5{display:table-cell;color:#333;width:870px;float:right}
#container4 li{color:#2D2D3B;margin-bottom:4px;list-style-type:square}
#container6{padding:199px 0 0;height:100%;width:100%;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}


/* Folgeseiten normal */
#contentPage {    
    padding-top: 200px;
}

#cms_seiteninhalt {
	font-size: 1.5rem;

  color: white !important;
}

footer { 
	height: 50px;
	width:100%;
	position:fixed;
	bottom:0;

	display: flex;
    justify-content: center; /* horizontal */
    align-items: center;

	/* background:#2D2D3B; */
  background-color: #000000 !important;

	color:#f0f0f0;
	font-size: 1rem;
	z-index: 9999	
}
footer a {
	color:#f0f0f0;
	transition: transform 0.2s ease;
    letter-spacing: 0px;
    transition: letter-spacing 0.3s ease;
}

footer a:hover {
  /* transform: scale(1.1); */
  letter-spacing: 0.64px;  
}

#footerContainer {
	/* max-width:1200px; */
	width: 100%;
	position:relative;
	margin:0 auto;
}

#footerTextArea {
    float: left;
    /* padding-left: 50px; */ /* wie Text im Logo */
    padding-right: 20px; /* wie Menu */
}

#footerTextArea a {
    text-decoration: none;
    color: inherit;
    transition: transform 0.2s ease;
    display: inline-block;
    background: none;
    letter-spacing: 0px;
    transition: letter-spacing 0.3s ease;
}

#footerTextArea a:hover {
  /* transform: scale(1.1); */
  letter-spacing: 0.64px;
  color: #FFFFFF;
}

#footerDisclaimerArea {
    float: right;
    /* float: right;
    margin-left: 7px; */
    /* padding-right: 50px; */
    /* width: 135px;
    padding-left: 53px; */
}

#footerDisclaimerArea a {
    text-decoration: none;
    color: inherit;
    /* transition: transform 0.2s ease; */
    display: inline-block;
    background: none;
    letter-spacing: 0px;
    transition: letter-spacing 0.3s ease;
	margin-right: 15px;
}

#footerDisclaimerArea a:hover {
  /* transform: scale(1.1); */
  letter-spacing: 0.64px;
  color: #FFFFFF;
}

.onePageLayout {
    padding: 0 0 90px;
}

/* 
#footerText {float:left;font-size:12px;color:#f0f0f0;text-align:left;width:80%;line-height:32px}
#impressum {float:right;font-size:12px;color:#f0f0f0;line-height:32px;text-align:right}
*/

/* Galerie Navigations-Schalter */
#galeryPrev{opacity:.8;left:.5%;position:absolute;top:333px}
#galeryNext{opacity:.8;right:.5%;position:absolute;top:333px}
#galeryPrev:hover,#galeryNext:hover{opacity:1}
#wrapperGalery{-webkit-transition:opacity .4s linear 1.2s;transition:opacity .4s linear 1.2s;opacity:0;max-width:690px;margin:50px auto 0}

#suche { 
  height: 23px; border: none; border-radius: 2px; 	
	margin: 5px 0;
	width: 154px; 
  padding: 5px 10px;
  border: 1px solid #ccc;
}
#watermark { display: none; position: fixed; bottom: 20px; left: 0; width: 210px; height: 75px; z-index: 10; background: url('/images/wasserzeichen.png') center no-repeat; }

.socialMediaIcons {
  display: flex;
  align-items: center;     /* vertikal mittig */
  gap: 20px;               /* Abstand zwischen Icons */
  padding-left: 20px;      /* Abstand vom linken Rand */
  z-index: 20;
}

.socialMediaIcons a {
  border: 0px !important;
}

.socialMediaIcons img {
  height: 27px;
  width: auto;
  vertical-align: middle;
}

/* Scrollup-Pfeil */
/* Basis-Button */
#topBtn {
  position: fixed;
  bottom: 30px;
  right: 30px;
  width: 48px;
  height: 48px;
  background-color: #333;
  color: white;
  border: none;
  border-radius: 50%;
  font-size: 24px;
  text-align: center;
  line-height: 48px;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s ease, visibility 0.4s ease, transform 0.3s ease;
  z-index: 1000;
}

/* Sichtbar beim Scrollen */
#topBtn.show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* Hover-Effekt */
#topBtn:hover {
  background-color: #555;
  transform: scale(1.1);
}

/* Pfeil-Inhalt (↑) */
#topBtn::before {
  content: "↑";
  display: block;
  font-weight: bold;
}

/* Galerie Thumbnail-Navigation*/
.wrapperBackgroundGaleryPreviewList{width:100%;position:fixed;bottom:0;padding-bottom:55px;overflow:hidden;margin-left:39px;height:97px}
.bgstretcher-area,#bgstretcher{width:100%;height:100%}
.BackgroundGaleryPreviewList{position:relative;white-space:nowrap;padding:0 50px;-moz-transition:margin .5s ease;-webkit-transition:margin .5s ease;transition:margin .5s ease}
.BackgroundGaleryPreviewList img{height:100%;position:relative;top:0;border:1px solid #fff;-moz-transition:top .5s ease;-webkit-transition:top .5s ease;transition:top .5s ease}
.BackgroundGaleryPreviewList li:first-of-type img{top:-20px}
.BackgroundGaleryPreviewList li{padding-bottom:20px;height:75px;opacity:.8;float:left;margin:20px 2px 0;list-style:none}
.BackgroundGaleryPreviewList li:hover{opacity:1}
#searchBtn{
  position:absolute;top:4px;right:0;
  color:#8c8c8c;
  line-height:23px;font-size:14px;
  text-align:center;

  width: 20px;
  height: 20px;
  /* background: url("https://www.raumin.li/images/search.svg") no-repeat center; */
  cursor: pointer
}

/* #topBtn{opacity:0;width:40px;height:40px;cursor:pointer;-webkit-transform:rotate(180deg);transform:rotate(180deg);position:fixed;bottom:40px;z-index:80;right:20px;width:40px;height:40px;background:url(/images/showSub.png) rgba(0,0,0,.8);-webkit-transition:opacity .4s ease;-moz-transition:opacity .4s ease;transition:opacity .4s ease} */

#cms_seiteninhalt { /* margin-right:80px; */}

/* Aktuelles-Startseite */
#vorlageListContainer689 .vorlage_picture{width:250px;max-height:140px}

/* Startseite */
#vorlageListContainer689 .vorlage_entrySeparator, #vorlageListContainer694 .vorlage_entrySeparator { width: 260px !important; margin-left: -5px; margin-right: 0px; text-align: left; }
#vorlageListContainer689 .vorlage_description { width: 250px !important; }

/* Mitarbeiter */
#vorlageListContainer623 .vorlage_entrySeparator,#vorlageListContainer624 .vorlage_entrySeparator,#vorlageListContainer621 .vorlage_entrySeparator,#vorlageListContainer622 .vorlage_entrySeparator,#vorlageListContainer625 .vorlage_entrySeparator,#vorlageListContainer628 .vorlage_entrySeparator{width:250px!important;margin-left:-5px;margin-right:0;text-align:left}
#vorlageListContainer656 .vorlage_entrySeparator,#vorlageListContainer630 .vorlage_entrySeparator{margin-left:-5px;width:100%;min-width:250px;max-width:725px;text-align:left}
#vorlageListContainer634 .vorlage_entrySeparator{width:190px!important;margin-left:-5px;margin-right:0;text-align:left}


/* Seiteninhalt - dunkle Variante 2022 */
#container3 {background:rgba(45,45,59,.8)}
#container3 h1, #container3, #container3 a, #container4 a .vorlage_description, #container5, .galleryImgLabel, #container3 .vorlage_titel, .blaettern *, #container5 .blaettern a {color:#000000 !important}
#container3 ul {list-style-type: none;}
#container3 ul li::before {
	content: "\2022";  /* Add content: \2022 is the CSS Code/unicode for a bullet */
	color: #fff; /* Change the color */
	font-weight: bold; /* If you want it to be bold */
	display: inline-block; /* Needed to add space between the bullet and the text */
	width: 1em; /* Also needed for space (tweak if needed) */
	margin-left: -1em; /* Also needed for space (tweak if needed) */
}

#container3 .vorlage_description a, #container3 .vorlage_description a span, .fancyboxPic.textlink_extern, .fancyboxPic.textlink_extern span, #container5 a, #container5 a span{color: rgb(255 200 0) !important}
#vorlageListContainer634 .vorlage_column1Cols1 img{background: #fff;}


/* Kontakt */
.inputerror {
    border-color: #d9534f !important;
}
.errormeld {
    color: #d9534f !important;
}

.formerror { 
  color: #d9534f !important; 
  margin-bottom: 10px; 
  font-size: 1.5rem;  
}

/* Aktuelles auf Startseite */
#vorlageListContainer722, #vorlageListContainerJobsStartseite {
  display: grid;

  grid-template-columns: repeat(3, 1fr); /* Drei gleich breite Spalten */
  gap: 2rem;
}

#vorlageListContainer722 .vorlage_entry, #vorlageListContainerJobsStartseite .vorlage_entry {  
  margin: 0px;
}

#vorlageListContainer722 .aktuelles-item, #vorlageListContainerJobsStartseite .aktuelles-item {
  break-inside: avoid; /* verhindert Umbruch von Bild und Text bei Safari */
  max-width: 100%;    
    /* box-sizing: border-box; */
    /* line-height: 1.4; */

    /* untere Linie */
    /* border-bottom: 1px solid #000000; */
    
  margin-bottom: 2em;
    
  /* outline: 2px dashed red; */
  width: 100%;
}

.aktuelles-item-content {
  /* width: 100%;
  box-sizing: border-box; */
}

#vorlageListContainer722 .aktuelles-item-bild, #vorlageListContainerJobsStartseite .aktuelles-item-bild {
  aspect-ratio: 16 / 9;
  overflow: hidden;

  /* display: block; */
  border-radius: 4px; /* optional für sanfte Ecken */  
  opacity: 0.95;
  transition: transform 0.4s ease, opacity 0.3s ease;
}

#vorlageListContainer722 .aktuelles-item-bild img, #vorlageListContainerJobsStartseite .aktuelles-item-bild img {
  /* display: block; */
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 1;
  transition: transform 0.4s ease;
  transform-origin: center center;  
}

#vorlageListContainer722 .aktuelles-item-bild:hover img, #vorlageListContainerJobsStartseite .aktuelles-item-bild:hover img {
  transform: scale(1.05); /* sanfte Vergrößerung */
}

#vorlageListContainer722 .aktuelles-item-bild:hover, #vorlageListContainerJobsStartseite .aktuelles-item-bild:hover {
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15); /* optionaler Schatteneffekt */
}

#vorlageListContainer722 .aktuelles-item-data, #vorlageListContainerJobsStartseite .aktuelles-item-data {
    display: flex;
    justify-content: space-between; /* oder flex-start, je nach Layoutwunsch */
    align-items: center;
    gap: 1rem; /* Abstand zwischen Beschreibung und Jahr */    
    height: 2em; /* damit Zentrierung funktioniert */
    text-align: center;    
	  font-size: 1.5rem;
}

/* Aktuelles Liste */
#vorlageListContainer722 .aktuelles-item-titel, #vorlageListContainerJobsStartseite .aktuelles-item-titel {  
  /* white-space: nowrap; 
  overflow: hidden;
  text-overflow: ellipsis; */
  /* max-width: 300px;  */

  text-align: left;
  /* flex: 1; */

  display: block; /* oder inline-block, je nach Layout */  
  height: 65px;
  padding-top: 15px;
}

#vorlageListContainer722 .aktuelles-item, #vorlageListContainer722 .aktuelles-item a, #vorlageListContainerJobsStartseite .aktuelles-item, #vorlageListContainerJobsStartseite .aktuelles-item a {
    font-weight: normal;
    text-decoration: none;    
    transition: all 0.3s ease;
}

#vorlageListContainer722 .aktuelles-item, #vorlageListContainer722 .aktuelles-item a:hover, #vorlageListContainerJobsStartseite .aktuelles-item, #vorlageListContainerJobsStartseite .aktuelles-item a:hover {    
    letter-spacing: 0.5px;
}

/* Projekte */

#vorlage_filter {
    margin-bottom: 20px;
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

#vorlage_filter label {
    cursor: pointer;
    font-size: 1.5rem;
}

/* Seite Unsere Arbeiten */
#vorlageListContainer724 {
  display: grid;

  grid-template-columns: repeat(3, 1fr); /* Drei gleich breite Spalten */
  gap: 2rem;
  /* padding: 2rem; */
  /* justify-items: center; */
}

#vorlageListContainer724 .vorlage_columnFlexible {        
   /* Multi-Column-Layout */
    /* column-count: 3;
    column-gap: 1em;
    width: 100%;
    box-sizing: border-box; */
}

#vorlageListContainer724 .vorlage_entry {  
  margin: 0px;
    /* Abstand nach Item */    
    /* margin-bottom: 2em; */

    /* 
    display: flex;
    box-sizing: border-box; */
}

#vorlageListContainer724 .projekt-item {       
  break-inside: avoid; /* verhindert Umbruch von Bild und Text bei Safari */
  max-width: 100%;    
    /* box-sizing: border-box; */
    /* line-height: 1.4; */

    /* untere Linie */
    /* border-bottom: 1px solid #000000; */    
    margin-bottom: 2em;

  /* outline: 2px dashed red; */
  width: 100%;
}

.projekt-item-content {
  /* width: 100%;
  box-sizing: border-box; */
}

#vorlageListContainer724 .projekt-item-bild {
  aspect-ratio: 16 / 9;
  overflow: hidden;

  /* display: block; */  
  border-radius: 4px; /* optional für sanfte Ecken */  
  opacity: 0.95;
  transition: transform 0.4s ease, opacity 0.3s ease;
}

#vorlageListContainer724 .projekt-item-bild img {
  /* display: block; */
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 1;
  transition: transform 0.4s ease;
  transform-origin: center center;  

  /* da bild zum text leicht nach links verschoben */
  padding: 3px;
}

#vorlageListContainer724 .projekt-item-bild:hover img {
  transform: scale(1.05); /* sanfte Vergrößerung */
}

#vorlageListContainer724 .projekt-item-bild:hover {
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15); /* optionaler Schatteneffekt */
}

#vorlageListContainer724 .projekt-item-data {
    display: flex;
    justify-content: space-between; /* oder flex-start, je nach Layoutwunsch */
    align-items: center;
    gap: 1rem; /* Abstand zwischen Beschreibung und Jahr */    
    height: 2em; /* damit Zentrierung funktioniert */
    text-align: center;    
	  font-size: 1.5rem;
}

/* Projekt Liste */
#vorlageListContainer724 .projekt-item-titel {  
  /* white-space: nowrap; 
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 300px; */

  text-align: left;
  /* flex: 1; */
  
  display: block; /* oder inline-block, je nach Layout */
  
  height: 65px;
  padding-top: 15px;
}

#vorlageListContainer724 .projekt-item, #vorlageListContainer724 .projekt-item a {
    font-weight: normal;
    text-decoration: none;    
    transition: all 0.3s ease;
}

#vorlageListContainer724 .projekt-item, #vorlageListContainer724 .projekt-item a:hover {    
    letter-spacing: 0.5px;
}

#vorlageListContainer724 .projekt-item-jahr {
  /*
  text-align: right;
  white-space: nowrap; */
}

/* Oberer rechter Zurueck Hyperlink auf Projekt-Detailseite */
#cmsPage724 .vorlageZurueckDetail {	
  display: inline-block;
  margin-top: 0px;  
  padding: 0;
  line-height: 1;  
  vertical-align: middle;
}

#cmsPage724 .vorlageZurueckDetail a {	
	padding: 0px;
	margin: 0px;
}

/* Projekte - Detail */

.projekt-detail-item {
    font-size: 1.5rem;
}

.projekt-detail-item-data {
  display: flex;
  flex-direction: column;
  gap: 1rem; /* Abstand zwischen den Elementen */
  width: 100%;  
  /* margin: 0 auto; */
  font-size: 1.5rem; 
}

.projekt-detail-item-left,
.projekt-detail-item-right {
  flex: 1;
  min-width: 0;
}

.projekt-detail-item-middle {
  flex: 2;
  min-width: 0;
}

/* Wrapper für das Bild */
.projekt-detail-item-bild-wrapper {
  width: calc(75% - 10px);
  margin-left: auto;
  display: flex;
  justify-content: flex-end;
  margin-bottom: 20px;
  /* Hoehe des Bildes, damit darunter die 2 Textzeilen mit Daten passen */
  height: calc(100vh - 9em);
  /* Damit Bild ueber dem Menu ist und dieses beim runterscrollen hinter dem Bild verschwindet */
  z-index: 200;
  position: relative;
}

.projekt-detail-item-bild {
    width: 100%;
}

.projekt-detail-item-bild img {
    display: block;
    max-width: 100%;
    max-height: 100%;
    width: 100%;    
    height: 100%;  
    object-fit: cover;
}

.projekt-detail-item-titel {
	margin-top: -30px;    
	margin-bottom: 0px;
	width: 80%;
}

.projekt-detail-flaeche-jahr {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}

.projekt-detail-item-beschreib {
    padding-top: 2em;
	padding-bottom: 2em;
}

/* Header Projekte Detail fuer Mobile mit Titel, Jahr, Ort ausblenden */
.projekt-detail-item-header-mobile {
    display: none;
}

/* Projekt Slider Bildergalerie */
#vorlageDetailGalerieContentWrapper {
    margin-top: 0px;
    flex-grow:1; width: 1200px; max-width:100%; margin: 0px auto 90px auto;    
}

/* Projektgalerie */

.projekt-detail-gallery {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.projekt-detail-gallery-item {
    /* column-gap: 2em; */
    display: flex;
    align-items: flex-start;
    padding-top: 90px;  
}

.projekt-detail-gallery-text {
    font-size: 1.5rem;
    /* text-align: center; */
    flex: 1;
    margin-right: 0; /* kein zusätzlicher Abstand */
    padding-right: 2em; /* optional: minimaler Abstand zum Bild */    
    padding-left: 2em;
}

.projekt-detail-gallery-bild {
  flex: 1;
  display: flex;
  justify-content: flex-start;
  /* Damit bei mobile kein horizontaler Scroll moeglich */
  overflow-x: hidden;
}

/* Reihenfolge Bild und Text tauschen. Bild links, Text rechts */
.projekt-detail-gallery-item.reverse {
  flex-direction: row-reverse;
}

.projekt-detail-gallery-bild img {  
  max-width: 100%;
  height: auto;
  display: block;  
}

/* Vorlage Detailseite: Eintrag ausblenden, da kein Inhalt */
.vorlage-detail-gallery-empty {
    display: none;
}

/* Vorlage Detailseite: Bild klein */
.vorlage-detail-gallery-bild-small {
    flex: 0.5; /* aktiv bei links-rechts */
    width: 30%; /* aktiv bei oben-unten */
}

/* Vorlage Detailseite: Bild mittel */
.vorlage-detail-gallery-bild-medium {
    flex: 1.4; /* aktiv bei links-rechts */
    width: 60%; /* aktiv bei oben-unten */

    /* bis 30.9.2025 
    flex: 1;
    width: 50%;
    */
}

/* Vorlage Detailseite: Bild gross */
.vorlage-detail-gallery-bild-big {
    flex: 2.5; /* aktiv bei links-rechts */
    width: 83%; /* aktiv bei oben-unten */

    /* bis 30.9.2025 
    flex: 1.5;
    width: 80%;
    */
}

/* Vorlage Detailseite: Bild rechts, Text links */
.vorlage-detail-gallery-item-img-right-txt-left {
  /* flex-direction: row-reverse; */
}

.vorlage-detail-gallery-item-img-right-txt-left img {  
  max-width: 100%;
  height: auto;
  display: block;  
}

/* Vorlage Detailseite: Bild links, Text rechts */
.vorlage-detail-gallery-item-img-left-txt-right {
  flex-direction: row-reverse;  
}

.vorlage-detail-gallery-item-img-left-txt-right img {  
  margin-left: 2rem;
  max-width: 100%;
  height: auto;
  display: block;  
}

/* Vorlage Detailseite: Mittig ausrichten mit Text oben und Bild unten */
.vorlage-detail-gallery-item-img-middle-txt-top {
  display: flex;
  flex-direction: column;
  align-items: center; /* Zentriert horizontal */
  text-align: center; /* Textzentrierung */
  gap: 1rem; /* Abstand zwischen Text und Bild */
}

.vorlage-detail-gallery-item-img-middle-txt-top img {
  /* width: 40%; */
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto; /* Bild mittig */
}

/* Vorlage Detailseite: Mittig ausrichten mit Text unten und Bild oben */
.vorlage-detail-gallery-item-img-middle-txt-bottom {
  display: flex;
  flex-direction: column;     /* Bild oben, Text unten */
  align-items: center;        /* Zentriert horizontal */
  text-align: center;         /* Text zentrieren */
}

.vorlage-detail-gallery-item-img-middle-txt-bottom img {
  order: 1;                   /* Bild zuerst */
  /* width: 40%; */
  max-width: 100%;
  height: auto;
  margin-bottom: 1rem;
}

.vorlage-detail-gallery-item-img-middle-txt-bottom .projekt-detail-gallery-text {
  order: 2; /* Text danach */
}

/* Erweiterter Kategorien Filter fuer Filter mit 2 Ebenen, wie bei Unsere Arbeiten */

/* Styling für die oeffentliche Filterleiste */
.filter-bar-container {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 25px;
  align-items: center;
}
.filter-item {
  position: relative;
}
/* Buttons für Ebene 2 */
.vorlage_filter_category_2lev_button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background-color: #ffffff;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  padding: 8px 16px;
  font-size: 14px;
  font-weight: 500;
  color: #334155;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}
.vorlage_filter_category_2lev_button:hover {
  border-color: #94a3b8;
  background-color: #f8fafc;
}
.vorlage_filter_category_2lev_button.active {
  border-color: #2563eb;
  color: #2563eb;
  background-color: #eff6ff;
}
.vorlage_filter_category_2lev_icon {
  font-size: 12px;
  transition: transform 0.2s ease;
}
.vorlage_filter_category_2lev_button.active .vorlage_filter_category_2lev_icon {
  transform: rotate(45deg);
}

/* Ausklappbarer Inhalt (Ebene 3) */
.vorlage_filter_category_2lev_content {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  min-width: 220px;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 8px 0;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
  z-index: 100;
}
.vorlage_filter_category_2lev_content[hidden] {
  display: none !important;
}
.vorlage_filter_category_2lev_content label {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 16px;
  margin: 0;
  font-size: 13px;
  color: #1e293b;
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.vorlage_filter_category_2lev_content label:hover {
  background-color: #f1f5f9;
}
.vorlage_filter_category_2lev_content input[type="checkbox"] {
  cursor: pointer;
  margin: 0;
}
/* Moderner Badge für gewählte Kategorien */
.cat-count-badge {
  background-color: #2563eb;
  color: #ffffff;
  font-size: 11px;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 12px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}

/* Reset-Button Styling */
.filter-reset-btn {
  background: transparent;
  border: none;
  color: #64748b;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  padding: 6px 12px;
  border-radius: 6px;
  transition: all 0.15s ease;
}
.filter-reset-btn:hover {
  color: #ef4444;
  background-color: #fef2f2;
}

/* Kategorien Filter fuer Teamseite */

.vorlage_filter_category_menu {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 14px; /* vertikal | horizontal */
    align-items: flex-start;
    justify-content: flex-start;
    margin: 0;
    padding: 0;
}

.vorlage_filter_category_button {
    padding: 8px 16px;
    border-radius: 4px;
    cursor: pointer;
    background: #f2f2f2;
    color: #333;
    transition: background 0.25s ease, color 0.25s ease;
    display: inline-block;
    margin-right: 8px;
}

/* Hover-Effekt */
.vorlage_filter_category_button:hover {
    background: #e0e0e0;
}

/* Aktiver Zustand */
.vorlage_filter_category_button.active {
    background: #2d2d3b;
    color: #FFFFFF;
    font-weight: 600;
}

/* Spezieller Look für den "Alle"-Button */
.vorlage_filter_category_button.filter-all {
    background: #ffffff;
    border: 1px solid #ccc;
}

.vorlage_filter_category_button.filter-all:hover {
    background: #f7f7f7;
}

/* Wenn "Alle" aktiv ist */
.vorlage_filter_category_button.filter-all.active {
    background: #ffd500;
    border-color: #ffd500;
    color: #000;
}

/* Teamseite */

.vorlage_CategoryContainer {
  /* Elemente gleichmaessig ausrichten */
  /* display: contents; */
  display: block;
  clear: both;
  width: 100%;
}

.vorlage_columnFlexible { 
  /* Wichtig damit Eintraege unter Vorlage-Kategorie-Filter buendig ausgegeben werden */
  display: inline-grid;
}

/* h2 Titel fuer Teamseite etc. */
#contentPage h2 {  
  display: block;
  width: 80%;
  /* margin-top: 2em; */
  margin-bottom: 0em;
  line-height: 1.4;
  font-size: 1.7rem;
  font-weight: 600;
}

/* Unternehmen-Team Umbruch bei Kategorie */
#onePageLayout712 .vorlageListCategoryTitle {  
  display: inline-block;
  width: 100%;
  margin-top: 4em;
  margin-bottom: 0em;
  line-height: 1.4;
  font-weight: 600;
}

#contentPage h3 {
  font-size: 1.5rem;
}

#onePageLayout712 .team-item {
  margin-bottom: 25px;
}

#onePageLayout712 .team-item-data {  
  width: 240px;
}

#onePageLayout712 .team-item-bild {  
  width: 240px;
  /* aspect-ratio: 1 / 1;
  overflow: hidden; */

  /* display: block; */
  border-radius: 4px; /* optional für sanfte Ecken */  
  opacity: 0.95;
  transition: transform 0.4s ease, opacity 0.3s ease;  
}

#onePageLayout712 .team-item-bild img {
  /* display: block; */
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 1;
  transition: transform 0.4s ease;
  transform-origin: center center;  

  /* da bild zum text leicht nach links verschoben */
  padding: 3px;
}

#onePageLayout712 .team-item-bild:hover img {
  transform: scale(1.05); /* sanfte Vergrößerung */
}

#onePageLayout712 .team-item-bild:hover {
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15); /* optionaler Schatteneffekt */
}

.team-item-beschreib-phone img {
  height: 14px; width: auto; margin-bottom: -3px;
}

.team-item-beschreib-phone:has(.team-item-beschreib-phone-txt:empty) {
  display: none;
}

.team-item-beschreib-mail img {
  height: 14px; width: auto; margin-bottom: -3px;
}

.team-item-beschreib-mail:has(.team-item-beschreib-mail-txt:empty) {
  display: none;
}

/* Jobs - Header: links und rechts ein Bild und in der Mitte Text  */

/* Container für alle Job-Items */
/* oder so: #onePageLayout727 .vorlage_listFlexible { */
#vorlageListContainer727 {
}

/* 2-spaltig: Bild rechts und Text links */
.bildrechtstextlinks-item-content { 
    display: grid;
    grid-template-columns: 1fr 1.5fr; /* Text links, Bild rechts */
    gap: 2rem; /* optionaler Abstand zwischen Spalten */
    align-items: start; /* Bild und Text oben ausrichten */
}

.bildrechtstextlinks-item-bild1 {    
    box-sizing: border-box; /* damit padding nicht zur Breite addiert wird, gibt sonst Scrollbalken auf mobile */    
    width: 80%;
    height: auto;
    object-fit: cover;
    justify-self: end;
    text-align: right;
}

/* Bild in voller Breite, Höhe dynamisch */
.bildrechtstextlinks-item-bild1 img {
    display: block;
    width: 100%;
    object-fit: cover;    
}

.bildrechtstextlinks-item-bild1::after {
    /* content: ""; */
    /* position: relative; */
    /* top: 0; left: 0;
    width: 100%;
    height: 100%; */
    background-color: rgba(0, 0, 0, 0); /* kein Schleier im Normalzustand */
    transition: background-color 0.3s ease;
}

.bildrechtstextlinks-item-bild1:hover::after {
    background-color: rgba(255, 255, 255, 0.2); /* leichter weisser Schleier */
}

.bildrechtstextlinks-item-text {
  text-align: left;
  font-size: 1.5rem;
}

/* 3-spaltig: links und rechts ein Bild und in der Mitte text */
.bildlinksrechtstextmitte-item-content { 
    display: grid; 
    grid-template-columns: repeat(3, 1fr); /* Drei gleich breite Spalten */
    gap: 2rem;   
}

.bildlinksrechtstextmitte-item-bild1, .bildlinksrechtstextmitte-item-bild2 {
    /* justify-self: center; */
    box-sizing: border-box; /* damit padding nicht zur Breite addiert wird, gibt sonst Scrollbalken auf mobile */
}

.bildlinksrechtstextmitte-item-bild2 {
  display: grid;
  place-items: center;     /* zentriert vertikal und horizontal */
  height: 100%;
}

/* Bild in voller Breite, Höhe dynamisch */
.bildlinksrechtstextmitte-item-bild1 img {
    display: block;
    width: 100%;    
    object-fit: cover;    
}

/* Bild rechts zentriert ausgeben */
 .bildlinksrechtstextmitte-item-bild2 img {
    display: block;
    width: 71%;    
    object-fit: cover; 
}

.bildlinksrechtstextmitte-item-bild1::after, .bildlinksrechtstextmitte-item-bild2::after {
    /* content: ""; */
    /* position: relative; */
    /* top: 0; left: 0;
    width: 100%;
    height: 100%; */
    background-color: rgba(0, 0, 0, 0); /* kein Schleier im Normalzustand */
    transition: background-color 0.3s ease;
}

.bildlinksrechtstextmitte-item-bild1:hover::after, .bildlinksrechtstextmitte-item-bild2:hover::after {
    background-color: rgba(255, 255, 255, 0.2); /* leichter weisser Schleier */
}

.bildlinksrechtstextmitte-item-text {
  text-align: left;
  font-size: 2rem;
}

/* Jobs */
.jobs-item {    
    margin-bottom: 1em;    
    font-size: 1.5rem;
}

.jobs-item-link {
    margin-top: 10px;
}

/* Interner Hyperlink */

#contentPage .textlink_intern, #contentPage a {
  color: var(--linkColorContentText);


  text-decoration: underline;
  text-underline-offset: 2px;
  font-weight: 500;
  transition: color 0.2s ease, text-decoration-color 0.2s ease;
  letter-spacing: 0px;
  transition: letter-spacing 0.3s ease;
}

#contentPage .textlink_intern:hover, #contentPage .textlink_intern:focus,
#contentPage a:hover, #contentPage a:focus {
  color: var(--linkColorContentText);
  text-decoration-color:var(--linkColorContentText);
  outline: none;
  letter-spacing: 1.2px;
}

/* Externer Hyperlink mit nachfolgendem diagonalem Pfeil */

#contentPage .textlink_extern {
  color: var(--linkColorContentText);
  text-decoration: underline;
  text-underline-offset: 2px;
  font-weight: 500;
  transition: color 0.2s ease, text-decoration-color 0.2s ease;
  letter-spacing: 0px;
  transition: letter-spacing 0.3s ease;
}

#contentPage .textlink_extern:hover,
#contentPage .textlink_extern:focus {
  color: var(--linkColorContentText);
  text-decoration-color: var(--linkColorContentText);
  outline: none;
  letter-spacing: 1.2px;
}

#contentPage .textlink_extern::after {
  content: " ↗";
  font-size: 1.5em;  
  margin-left: 2px;
  vertical-align: middle;
  color: inherit;  
}

/* Kontaktformular Felder groesser */
form[name="KontaktForm"] input[type="text"],
form[name="KontaktForm"] input[type="email"],
form[name="KontaktForm"] input[type="tel"],
form[name="KontaktForm"] input[type="number"],
form[name="KontaktForm"] textarea,
form[name="KontaktForm"] select {
    font-size: 1.5rem;
    padding: 10px 16px;
    height: auto; /* Browser-Höhenfix entfernen */
    width: 90% !important;  
    max-width: 850px !important;  
    box-sizing: border-box; /* verhindert Layout-Sprünge */
}

/* Interner Hyperlink Button mit vorangehendem horizontalem Pfeil */

/* Standard-Formatierung von Submit-Schalter entfernen */
input[type="submit"] {
    appearance: none;
    -webkit-appearance: none;
    border: none;
    background: none;    
    margin: 0;
    font-size: 1.5rem;
    padding: 0.2em 0.4em !important;
    border: 0px !important;
    color: inherit;
    cursor: pointer;
    display: flex !important;
}

/* Startseite Kurzbeschreib oder Jobs Intro */
#onePageLayout720 .textlink_intern, #onePageLayout713 .textlink_intern, .buttonleiste, input[type="submit"] {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  padding: 0.4em 0.8em;
  border: 1px solid #FFFFFF; /* Wenn Hintergrund weiss: #2D2D3B; */
  border-radius: 4px;
  background-color: transparent;
  /* Linkfarbe wie gelb, daher deaktiviert / Wenn Hintergrund weiss: color: #2D2D3B; */
  color: var(--linkColorContentText);
  font-weight: 500;
  text-decoration: none;
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
  letter-spacing: 0px;
  transition: letter-spacing 0.3s ease;
}

#onePageLayout720 .textlink_intern::before, #onePageLayout713 .textlink_intern::before, .buttonleiste::before, input[type="submit"]:before {
  content: "➝";
  font-size: 1em;
  color: #FFFFFF; /* Wenn Hintergrund weiss: #2D2D3B; */
  transition: transform 0.3s ease;
}

#onePageLayout720 .textlink_intern:hover, #onePageLayout720 .textlink_intern:focus,
#onePageLayout713 .textlink_intern:hover, #onePageLayout713 .textlink_intern:focus,
.buttonleiste:hover, .buttonleiste:focus, 
input[type="submit"]:hover, input[type="submit"]:focus {
  background-color: #FFFFFF; /* Wenn Hintergrund weiss: #2D2D3B; */
  color: #000000;
  border-color: #FFFFFF; /* Wenn Hintergrund weiss: #2D2D3B; */
  letter-spacing: 1.2px;
}

/* Pfeilfarbe auch bei Focus */
#onePageLayout720 .textlink_intern:hover::before, #onePageLayout720 .textlink_intern:focus::before,
#onePageLayout713 .textlink_intern:hover::before, #onePageLayout713 .textlink_intern:focus::before,
.buttonleiste:hover::before, .buttonleiste:focus::before,
input[type="submit"]:hover::before, input[type="submit"]:focus::before {
  transform: translateX(2px);
  color: #000000;
}

/* Externer Hyperlink Button mit nachfolgendem diagonalem Pfeil */

#onePageLayout720 .textlink_extern, #onePageLayout713 .textlink_extern {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  padding: 0.4em 0.8em;
  border: 1px solid #FFFFFF; /* Wenn Hintergrund weiss: #2D2D3B; */
  border-radius: 4px;
  background-color: transparent;
  /* Linkfarbe wie gelb, daher deaktiviert / Wenn Hintergrund weiss: color: #2D2D3B; */
  font-weight: 500;
  text-decoration: none;
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
  letter-spacing: 0px;
  transition: letter-spacing 0.3s ease;
}

#onePageLayout720 .textlink_extern::after, #onePageLayout713 .textlink_extern::after {
  content: "↗";
  font-size: 1em;
  color: #FFFFFF; /* Wenn Hintergrund weiss: #2D2D3B; */
  transition: transform 0.3s ease;
}

#onePageLayout720 .textlink_extern:hover, #onePageLayout720 .textlink_extern:focus, 
#onePageLayout713 .textlink_extern:hover, #onePageLayout713 .textlink_extern:focus {
  background-color: #FFFFFF; /* Wenn Hintergrund weiss: #2D2D3B; */
  color: #000000;
  border-color: #FFFFFF; /* Wenn Hintergrund weiss: #2D2D3B; */
  letter-spacing: 1.2px;
}

/* Pfeilfarbe auch bei Focus */
#onePageLayout720 .textlink_extern:hover::after, #onePageLayout720 .textlink_extern:focus::after, 
#onePageLayout713 .textlink_extern:hover::after, #onePageLayout713 .textlink_extern:focus::after {
  transform: translateX(-1px);
  color: #000000;
}

/* Suche */
.blaettern {font-size: 1.5rem;}
.sresult_title{font-size: 1.5rem; margin:0; }
.sresult_title a{font-weight: normal; font-size: 1.5rem; text-decoration: underline;}
.sresult_title:hover a{font-weight: bold; /* text-decoration:underline; */}
.sresult1,.sresult2{
  font-size: 1.5rem; 
  margin-bottom: 2em;
}
.smark {background-color: #7D0000; color: #FFFFFF; padding: 1px 4px;}

/* Bildergalerien */

.galleryList {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* 3 Pro Zeile */
  /* grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); */ /* Soviele wie reinpassen pro Zeile */
  gap: 2rem;
  padding: 0;
  margin: 0;
  list-style: none;
}

/* Einzelne Bild-Container */
.galleryImg {
  position: relative;
  overflow: hidden;
  border-radius: 8px;
  background: #f5f5f5;
}

/* Bild selbst */
.galleryImg img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  transition: transform 0.35s ease;
  z-index: 10;
}

.galleryImg:hover img {
  transform: scale(1.05);
}

/* Optional: Caption */
.galleryImg .caption {
  padding-top: 1rem;
  font-size: 1rem;
  line-height: 1.4;
}

.galleryImgLabel {
  position: relative;
  top: 7px;
  margin-left: 10px;
  height: 35px;
}

@media all and (max-width: 1350px) {
    /* Footer 2-zeilig */
    footer {
        height: 80px;        
    }

    #footerDisclaimerArea {
        float: left;
        /* margin-left: -0.3em; */ /* da 1. Element ein Hyperlink mit entsprechendem Rand */
    }
}

/* Wenn Fensterbreite gleich wie Seiteninhalt */
@media all and (max-width: 1220px) {
	#container3{width:100%;padding-left:37px;padding-right:78px;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}
	#container5{width:100%}
	#cms_seiteninhalt{padding:0}
	h1{padding-left:16px}
	#seitentitel{padding-left:0}
	#footerText{padding-left:20px}
	#impressum{padding-right:20px}
	#suche,#searchBtn{margin-right:20px}
	#suche{width:140px}
}

@media all and (max-width: 1083px) {
  .wrapperBig {
      /* Rand fuer mobile verkleinern */
      max-width: calc(100% - 50px);
  }

  .wrapper {
      /* Rand fuer mobile verkleinern */
      max-width: calc(100% - 50px);
  }

  /* Wrapper Schmal innerhalb Wrapper - ohne Rand links rechts */
  .wrapperInsideContent {
    max-width: 100%;
  }

  .wrapperSmall {
      /* Rand fuer mobile verkleinern */
      max-width: calc(100% - 50px);
  }

	body {
	  /* helle Hintergrundfarbe, damit man Transparenz zwischen oberen Menu und Breadcrumb-Balken sieht bei iPod und iPhone */
      background-color: #FFFFFF;
	}

	/* Bild des Firmengebaeudes auf der Startseite verkleinern */
	#startseiteFirma {
	  width: 250px;
	}

	/* Trennlinie ausblenden
		Anm.: eingeblendet lassen auf Kundenwunsch 5.1.2016/ck */
	.vorlage_entrySeparator {
		/* display: none; */
		display: block;
	}

	/* Standard Zeilenumbruch deaktivieren */
	.vorlage_columnende {
	  display: none ! important;
	}

	/* Vorlagenseite mit 2 Spalten: 2 Spalte in einer Zeile */

	.vorlage_column1Cols2 {
		width: 47% ! important;
		margin-right: 5px ! important;
	}

	.vorlage_column2Cols2 {
		width: 47% ! important;
		margin-right: 5px ! important;
	}

	/* Vorlagenseite mit 2 Spalten: Zeilenumbruch nach 2. Spalte aktivieren */
	.vorlage_columnendeMulti2Cols2 {
	  display: block ! important;
	}

	/* Vorlagenseite mit 3 Spalten: nur noch 2 Spalten in einer Zeile */

	.vorlage_column1Cols3 {
		width: 47% ! important;
		margin-right: 5px ! important;
	}

	.vorlage_column2Cols3 {
		width: 47% ! important;
		margin-right: 5px ! important;
	}

	.vorlage_column3Cols3 {
		width: 47% ! important;
		margin-right: 5px ! important;
	}

	/* Vorlagenseite mit 3 Spalten: Zeilenumbruch nach 3. Spalte deaktivieren */
	.vorlage_columnendeMulti3Cols3 {
	  display: none ! important;
	}

	/* Vorlagenseite mit 3 Spalten: Zeilenumbruch nach 2. Spalte aktivieren */
	.vorlage_columnendeMulti2Cols3 {
	  display: block ! important;
	}

	/* Vorlagenseite mit 4 Spalten: nur noch 2 Spalten in einer Zeile */
	.vorlage_column1Cols4 {
		width: 47% ! important;
		margin-right: 5px ! important;
	}

	.vorlage_column2Cols4 {
		width: 47% ! important;
		margin-right: 5px ! important;
	}

	.vorlage_column3Cols4 {
		width: 47% ! important;
		margin-right: 5px ! important;
	}

	.vorlage_column4Cols4 {
		width: 47% ! important;
		margin-right: 5px ! important;
	}

	/* Vorlagenseite mit 4 Spalten: Zeilenumbruch nach 3. Spalte deaktivieren */
	.vorlage_columnendeMulti3Cols4 {
	  display: none ! important;
	}

	/* Vorlagenseite mit 4 Spalten: Zeilenumbruch nach 2. Spalte aktivieren */
	.vorlage_columnendeMulti2Cols4 {
	  display: block ! important;
	}

	/* Formularfelder verkleinern, damit bei iPad kein Umbruch vor Memofeld erfolgt */
	#seiteninhalt input[type=email], #seiteninhalt input[type=text], #seiteninhalt textarea, #seiteninhalt select {
		width: 250px !important;
	}

	/* Footer 3-zeilig */
    footer {
        height: 100px;        
    }
}

@media all and (max-width: 985px) {
	#impressum {display: none;}
	#footerText {width: 100% !important;}
}

@media all and (max-width: 1015px) {
	#suche, #searchBtn {display: none;}

	#container2 a {
		/* kleinere Schrift im oberen Menu, damit bei den vielen Eintraegen im Tablet kein Umbruch erfolgt */
		/* font-size: 11px; */
	}

  /* Aktuelles auf Startseite */
  #vorlageListContainer722, #vorlageListContainerJobsStartseite {
    grid-template-columns: repeat(2, 1fr); /* 2 Spalten */
  }

  /* Projekte */
  #vorlageListContainer724 {
    grid-template-columns: repeat(2, 1fr); /* 2 Spalten */
  }

  /* Bildergalerien */
  .galleryList {
    grid-template-columns: repeat(2, 1fr); /* 2 Spalten */
  }
}

@media all and (max-width: 900px) {
	#container6 { padding-top: 150px; }

	/* Bei 2-spaltiger Formatierung */    
    .bildrechtstextlinks-item-bild1 {
        width: 50%;
    }
}

@media all and (max-width: 790px) {
	#previewList { bottom: 2px !important; }
	/* footer { display: none; }
	#side-nav { display: none; }
	*/
	
	/* Layerslider Thumbnail Navigation ausblenden */
  .ls-thumbnail-wrapper {
    	display: none !important;
  }
}

/* Wechsel zu Smartphone Menu */
@media all and (min-width: 850px) {	
	#container2 #navi-menu {
		display: block !important;
	}
	#menuBtn { display: none !important; }
	#container2 li li:hover > a:after { border-color: transparent rgba(255, 255, 255, .9) transparent transparent; border-style: solid; border-width: 8px; content: ""; display: block; line-height: 35px; position: absolute; right: 0; top: 8px; }  
}

/* Wechsel zu Smartphone Menu mit Menu-Icon */
@media all and (max-width: 850px) {
	/* footer { display: none; } */  

  #container2 #navi-menu {
      position: absolute;
      top: 100%;
      left: 0;
      right: 0;
      /* ganze Breite */
      width: 100%;
  }

  .nav-container {
    /* flex-direction: column;
    align-items: flex-start; 
    */
  }

  .nav-right {
    /* justify-content: flex-start;
    margin-top: 1rem; */
  }

	/* #kruemel { display: none; } */	

	#logoSlogan span {
		font-size: 1rem;
		margin-top: 0.5rem;
	}

	#seitenpfadArea {
	  /* display: none; */
	}

	#seitentitel {
		padding-left: 17px;
	}

	#cms_seiteninhalt { margin-right: 15px; }

	#cms_inhaltsbereich {
		/* padding-left: 17px; */
	}

	#container4 {
		display: block;
		float: none;
		margin: 16px 0px 16px 0px;
		/* bis 28.10.2015: erzeugt Rand bei iPhone: margin: 16px; */ }

	#container5 { padding: 8px; display: block; }
	#note { padding-top: 8px; }

	#container6 {
		/* Oberen Abstand von Seiteninhalt zu Header vergroessern, damit Seitenpfad nicht verdeckt wird */
		padding-top: 23px;
	}

	#menuBtn, .showSub { display: block; }
	#container2 { height: 40px; }
	#container2 a { border-right: 0; }
	#container2 ul { min-width: 100%; }
	#container2 ul ul { padding-left: 0; background: #181818 !important;
		-moz-transition: padding .4s ease;
		-webkit-transition: padding .4s ease;
		transition: padding .4s ease; }
	#container2 #navi-menu ul ul { box-sizing: border-box; position: static; opacity: 1; display: none; }
	#container2 #navi-menu {
		display: none;
		/* Damit bei Galerieseiten Menu links positioniert wird, aufgrund Tablet Positionierung nach Logo */
		padding-left: 0px !important;
	}
	#container2 #navi-menu li { background: #181818; height: auto !important; float: none; width: 100%; border-bottom: 1px solid #474747; }
	#container2 #navi-menu li:last-of-type { border-bottom: 0; }
	#container2 li li { position: relative; background: rgb(45,45,59); }
	#container2 a { 
    display: block; 
    margin: 0 !important; 
    padding: 16px 30px 16px 30px !important 
  }
	#container2 li li li > a { color: #fff; }

	#container2 nav {
		/* geoeffnetes Menu unterhalb des Menu-Symbols */
		/* top: -8px; */
  }	


  /* Proportionale Abmasse bei Bildern der Bildergalerie */
  /* 
	.galleryImg img {
		width: auto;
		height: auto;
	}

	.galleryImgLabel {
	  font-weight: normal;
	}
  */

  #logo a {    
    padding: 0 !important;
  }

  .wrapperBig {
    /* justify-content: space-between;
    width: 100%; */
  }

  #logo {
    height: auto !important;      
  }  

  .onePageLayoutFirst {
    padding-top: 0px !important;
  }
}

@media all and (max-width: 720px) {
	/* 2-spaltiger Eintrag in 1 Spalte untereinander ausgeben */
    .bildrechtstextlinks-item-content {
        display: flex;
        flex-direction: column;
    }

	#slideBg1, #slideBg2 { top: 55px !important; }

	/* Standard Zeilenumbruch deaktivieren */
	.vorlage_columnende {
	  display: none ! important;
	}

    /* Vorlagenseite mit 2 Spalten: nur noch 1 Spalten in einer Zeile */

	.vorlage_column1Cols2 {
		width: 100% ! important;
		margin-right: 5px ! important;
	}

	.vorlage_column2Cols2 {
		width: 100% ! important;
		margin-right: 5px ! important;
	}

	/* Vorlagenseite mit 3 Spalten: nur noch 1 Spalten in einer Zeile */

	.vorlage_column1Cols3 {
		width: 100% ! important;
		margin-right: 0px ! important;
	}

	.vorlage_column2Cols3 {
		width: 100% ! important;
		margin-right: 0px ! important;
	}

	.vorlage_column3Cols3 {
		width: 100% ! important;
		margin-right: 0px ! important;
	}

	/* Vorlagenseite mit 4 Spalten: nur noch 1 Spalte in einer Zeile */
	.vorlage_column1Cols4 {
		width: 100% ! important;
		margin-right: 0px ! important;
	}

	.vorlage_column2Cols4 {
		width: 100% ! important;
		margin-right: 0px ! important;
	}

	.vorlage_column3Cols4 {
		width: 100% ! important;
		margin-right: 0px ! important;
	}

	.vorlage_column4Cols4 {
		width: 100% ! important;
		margin-right: 0px ! important;
	}

	/* Vorlagenseite mit 4 Spalten: Zeilenumbruch nach 3. Spalte aktivieren */
	.vorlage_columnendeMulti3Cols4 {
	  display: block ! important;
	}

	/* Vorlagenseite mit 4 Spalten: Zeilenumbruch nach 2. Spalte aktivieren */
	.vorlage_columnendeMulti2Cols4 {
	  display: block ! important;
	}

	/* Vorlagenseite mit 4 Spalten: Zeilenumbruch nach 1. Spalte aktivieren */
	.vorlage_columnendeMulti1Cols4 {
	  display: block ! important;
	}

	#previewList { bottom: 2px !important; }

	/* Damit fuer Text die ganze Breite genutzt wird */
	#container3 {
	 	padding-left: 16px;
		padding-right: 15px;
	}

	#cms_seiteninhalt { margin-right: 3px; }

	.vorlage_beschreibungliste {
	  width: 100% !important;
	}

	.vorlage_description {
	 /*  width: 100% !important; */
	}
}

@media all and (max-width: 630px) {  
  #logo img{
    width: 150px;    
  }  

  #cms_inhaltsbereich {	
		padding-bottom: 160px
  }

	/* Footer 4-zeilig */
  footer {
      height: 120px;        		
  }

  /* Aktuelles auf Startseite */
  #vorlageListContainer722, #vorlageListContainerJobsStartseite {
    grid-template-columns: 1fr; /* 1 Spalte */
  }

  /* Projekte */
  #vorlageListContainer724 {
    grid-template-columns: 1fr; /* 1 Spalte */
  } 

  #vorlageListContainer724 .projekt-item-data {
    /* padding-left: 1em;
    padding-right: 1em; */
  }

  /* Projekt Liste */
  #vorlageListContainer724 .projekt-item-titel {  
    max-width: 95%;
    font-size: 1.3rem;
  }

  /* Bildergalerien */
  .galleryList {
    grid-template-columns: 1fr; /* 1 Spalte */
  }
}

@media all and (max-width: 470px) {
	/* Footer 5-zeilig */
    footer {
        height: 140px;        		
    }

  /*
	#note { display: none; }
	#logo { height: 43px; width: 105px; position: static !important; }
	#container1 a { display: inline-block; float: none !important; }
	#container1 { height: 43px; }

	#container2 { padding: 0; height: 40px; }

	header { height: 83px; }  
  */

	#container6 {
		/* Oberen Abstand von Seiteninhalt zu Header so setzen, dass kein Abstand nach Seitenpfad */
		/* padding-top: 18px; */
	}  

	.bgSlide { height: calc(100% - 90px) !important; }
}

@media all and (max-width: 400px) {
    #logoSlogan span {font-size: 0.7rem;}
}