/* Menue ==========================================*/

	.custom-menu-3 {
		display: block;
		overflow: hidden;
		position: relative;
		z-index: 2;
		background-color: white;
	}
	.custom-wrapper {
		background-color: white;
		margin-bottom: 1em;
		-webkit-font-smoothing: antialiased;
		height: 6em;
		overflow: hidden;
		-webkit-transition: height 0.5s;
		-moz-transition: height 0.5s;
		-ms-transition: height 0.5s;
		transition: height 0.5s;
	}

	.custom-wrapper.open {
		height: 30em;
		width: 20em;
	}

	.custom-toggle {
		width: 2.5em;
		height: 2.5em;
		position: relative;
		display: none;
	}

	.custom-toggle .bar {
		background-color: #777;
		display: block;
		width: 25px;
		height: 3px;
		border-radius: 100px;
		position: absolute;
		top: 18px;
		right: 7px;
		-webkit-transition: all 0.5s;
		-moz-transition: all 0.5s;
		-ms-transition: all 0.5s;
		transition: all 0.5s;
	}

	.custom-toggle .bar:first-child {
		-webkit-transform: translateY(-6px);
		-moz-transform: translateY(-6px);
		-ms-transform: translateY(-6px);
		transform: translateY(-6px);
	}

	.custom-toggle.x .bar {
		-webkit-transform: rotate(45deg);
		-moz-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		transform: rotate(45deg);
	}

	.custom-toggle.x .bar:first-child {
		-webkit-transform: rotate(-45deg);
		-moz-transform: rotate(-45deg);
		-ms-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}

	#menu{
		overflow: hidden;
	}
	#menu.open pure-menu.custom-can-transform{
		position:absolute;
		height: auto;
	}

	@media (max-width: 64em) { 
		#kopf{height: 10em;}
		#hauptnavi{ width: 50%; margin-left: -1em;}
		#hauptnavi ul.pure-menu-list li a{
			border:0px;
			height:auto;
			width: 100%;
			font-size: 1.2em;
			font-weight: 100;
			
		}
		
	
		.custom-menu-3 ul.pure-menu-list li {
			clear:both;
			border:none;
			height:auto;
			width: 15em;
			margin-bottom: 0.5em;
		}

		.custom-toggle {
			display: block;
			z-index: 1;
		}
		.custom-menu-3 {
			width: fit-content;
			display: block;
			overflow: hidden;
			position: relative;
			width: 15em;
		}
		.pure-menu-horizontal{
			height: 0;
			-webkit-transition: height 0.5s;
		-moz-transition: height 0.5s;
		-ms-transition: height 0.5s;
		transition: height 0.5s;
		}

	}


/* Generell
===================================================*/
 
* {
  margin: 0;
  padding: 0;
}

img {
  border: 0;
}

.clear {
  clear: both;
}

/* Farbe
===================================================*/

body {
  background-color: rgb(255,255,255);
  color: #444;
  padding-bottom: 10em;
}


/* Typographie
===================================================*/

html {
  font-size: 1rem;
}

html, body, p, ul, input, textarea {
  font-weight: normal;
  font-style: normal;
  text-decoration: none;
  text-align: left;
  text-indent: 0;
  font-size: 1rem;
  line-height: 1.5em;
}



body, p{
  font-family: "Inter", Verdana, Helvetica, Arial, sans-serif;	
}

h1, h2, h3 {  
  font-family: "Barlow", Verdana;
  font-weight:500;
  line-height: 1.5em;
  margin-top: 1vh;
}

.inhalt.referenzen h2{
  font-size: 1.5em;
}

.htg {
  background-image: url(../img/htg_text.gif);
}

#inhalt li{
  list-style-position: inside;
  margin-bottom: 0.5em;
  list-style-type:'- ';
  text-indent: -8px;
  margin-left: 10px;
}

.pure-u-1 p{
  max-width: 100ch;
}

/* Links
===================================================*/

a {
  text-decoration: none;
  color: rgb(51,51,51);
  font-weight: bold;
}


/* Kopfbereich
===================================================*/

#kopf {
  
  margin-top:2.2em;
  margin-left: 3.2em;
  margin-right: 3.2em;
  /*min-width: 825px;*/
}


/* Hauptnavigation
-------------------------------------------------- */

#hauptnavi {
  float:left;
  height: 9.8em;
}

#startseite #hauptnavi .startseite a,
#fachgebiete #hauptnavi .fachgebiete a,
#leistungen #hauptnavi .leistungen a,
#referenzen01 #hauptnavi .referenzen a,
#referenzen02 #hauptnavi .referenzen a,
#referenzen03 #hauptnavi .referenzen a,
#buero #hauptnavi .buero a,
#jobs #hauptnavi .jobs a,
#impressum #hauptnavi .impressum a,
#hauptnavi a.active {
  background-color:#245878;
  color:rgb(255,255,255);
  cursor:default;
}

#hauptnavi ul {
  list-style: none;
  float: left;
}

#hauptnavi ul li {
  float: left;
  margin-right: 0.5em;
}

#hauptnavi ul a {
  display: block;
  font-size:0.7em;
  font-weight:600;
  width: 7em;
  height: 7em;
  padding: 0.5em;
  border: solid rgba(51,51,51,50%) 1px;
  line-height:1.3em;
}

#hauptnavi ul a:hover {
	background-color: rgb(209 208 199);
    border: 1px solid rgb(163 159 146);
    color: rgb(114 111 101);
	transition: background-color 0.5s;
}


/* Logo
-------------------------------------------------- */

#logo {
  float:right;
}


/* Subnavigation
-------------------------------------------------- */

#subnavi {
  height: 2.8em;
  margin-left: 25em;
}

#referenzen01 #subnavi a.referenzen01,
#referenzen02 #subnavi a.referenzen02,
#referenzen03 #subnavi a.referenzen03 {
  background-color:#245878;
  color:rgb(255,255,255);
  cursor:default;
}

#subnavi a.referenzen01,
#subnavi a.referenzen02,
#subnavi a.referenzen03 {
  margin-right: 0.8em;
  display: block;
  float: left;
  width: 2em;
  height: 2em;
  padding: 0.3em;
  border: solid rgb(51,51,51) 1px;
}

#subnavi a:hover {
  background-color: rgb(152,152,152);
}


/* Inhaltsbereich
===================================================*/
#inhalt {
  background-image: url(../img/htg_raster.gif);
  min-height: 32em;
  position: relative;
  padding-top: 1.5em;
  margin-bottom: 2em;
  /*width:100%;*/ 
  /*min-width: 825px;*/
}

.inhalt {
  min-height: 32em; 
  position: relative;
  padding: 0 5% 0 5%;
  /*width:100%;*/
  /*min-width: 825px;*/
  
}
.fuss{
	max-width:80em;
	margin-top:5%;
	
}
.container_fluid {  
	/* 
	align-items: stretch;
	display:flex;
	flex-direction: row;
	gap: 1em 2em; 
	justify-content: space-around;	
	*/
	max-width:80em;
	width:100%;
	/*min-width: 825px;*/
}



/* Überschrift: Startseite
-------------------------------------------------- */

#ueberschrift {
  margin-left: 3.2em;
  position: relative;
  top: 0em;
}


/* Vorschaubilder: Startseite, Büro
-------------------------------------------------- */

#vorschaubilder {
  background-image: url(../img/htg_raster10_vorschau.gif);
  position: relative;
  bottom: 0px;
  width: 100%;
  overflow: hidden;
  margin-top: 3em;
}

#vorschaubilder .eine_zeile {
  height:12em;
}

#vorschaubilder .zwei_zeilen {
  height: 16.6em;
}

#vorschaubilder img {
	
  float:left;
  border: 1px solid rgb(51,51,51);
  background-color: rgb(255,255,255);
  width: 7.6em;
  height: 7.6em;
  margin-left: 1em;
  margin-top: 1em;
}

#vorschaubilder #zeile1 .bild1 {
  margin-left: 10.9em;
}

#vorschaubilder #zeile1 .bild4_5 {
  margin-left: 9.8em;
}

#vorschaubilder #zeile2 .bild2 {
  margin-left: 28.5em;
}


/* Bilder: Fachgebiete/Leistungen, Referenzen
-------------------------------------------------- */

#bilder {
  background-image: url(../img/htg_raster10.gif);
  position: relative;
  top: 50px;
  width: 100%;
}

#bilder img {
  float:left;
  border: 1px solid rgb(51,51,51);
  background-color: rgb(255,255,255);
  width: 12em;
  height: 12em;
}

#bilder .abstandshalter {
  float:left;
  border: 0;
  background-color: rgb(255,255,255);
  background-image: url(../img/htg_raster.gif);
  width: 2.1em;
  height: 12.2em;
}

#bilder .bild1 {
  margin-left: 10.9em;
}


/* Grafik: Impressum/Kontakt
-------------------------------------------------- */

#grafik {
  background-image: url(../img/htg_raster10.gif);
  position: relative;
  overflow: hidden;
  display: block; 
  padding: 10px 0 19px 0em;
  margin-top: 22px;
  
  
}

#grafik > img {
  float:left;
  background-color: rgb(255,255,255);
  border: 1px solid rgb(51,51,51);
  width: 16.4em;
  height: 16.4em;
  margin-left: 1em;
}

#grafik .bild1 {
  margin-left: 10.9em;
}


div.text1{
	margin-left: 10.9em;
  position: relative;
  overflow: hidden;
  clear: both;
}

/* Text �ber 3 K�stchen: Fachgebiete, Leistungsbilder
-------------------------------------------------- */
@media screen and (min-width: 48em){
	#kopf{
    height: 19em;
  }
}

#text3 {
  margin-left: 10.9em;
  position: relative;
  top: 0.2em;
  overflow: hidden;
}

#text3 .absatz {
  float: left;
  width: 13.2em;
  margin-right: 1.1em;
}

#text3 h2 {
  margin-bottom: 1.1em;
}


#text3 .eine_zeile,
#inhalt .eine_zeile {
  min-height: 3.5em;
}

#text3 .drei_zeilen {
  height: 3.3em;
}

#text3 .vier_zeilen {
  height: 4.4em;
}

#text3 h3 {
  margin-top: 1.1em;
  margin-bottom: 0;
  color: rgb(80,80,80);
}

#text3 ul {
  list-style-type: none;
}



/* Text �ber 4 K�stchen: B�ro, Impressum
-------------------------------------------------- */

#text4 {
  margin-left: 10.8em;
  position: relative;
  top: 0.2em;
  overflow: hidden;
  
}

#text4 .absatz {
  float: left;
  width: 16.6em;
  margin-right: 1em;
}

#text4 h2, #text4 p {
  margin-bottom: 1.1em;
}

#text4 h3 {
  margin-bottom: 1.1em;
  color: rgb(80,80,80);
}

/* Text �ber 6 K�stchen: B�ro
-------------------------------------------------- */

#text6 {
  margin-left: 10.8em;
  position: relative;
  top: 0.2em;
  overflow: hidden;
  margin-bottom: 1em;
}

#text6 .absatz {
  float: left;
  width: 24.4em;
  margin-right: 2em;
}

#text6 h2, #text6 p {
  margin-bottom: 1.1em;
}

#text6 h3 {
  margin-bottom: 1.1em;
  color: rgb(80,80,80);
}


/* Formular: Impressum/Kontakt
-------------------------------------------------- */

#formular {
  position: absolute;
  left: 46.1em;
  top: 0.2em;
  width: 16.6em;
}

#formular h3 {
  margin-bottom: 1.1em;
  color: rgb(80,80,80);
}

#formular p {
  height: 3.3em;

}

#formular input, #formular textarea {
  width: 15.5em;
}

#formular textarea {
  height: 11.5em;
}

#formular .form_zeile {
  height: 4.4em;
}

#formular .form_textfeld {
  height: 15em;
}
/*
#formular span {
  display: block;
  margin-bottom: 0.9em;
}

#formular .feld {
  width: 15.3em;
  height: 1.6em;
  margin-bottom: 0.6em;
  border:1px solid rgb(51,51,51);
}

#formular .bereich {
  width: 15.3em;
  height: 12.5em;
  margin-bottom: 1.6em;
  border:1px solid rgb(51,51,51);
}

#formular .button {
  width: 15.5em;
  height: 1.6em;
  margin-bottom: 0.7em;
  border:1px solid rgb(51,51,51);
} */

/* ergaenzungen zu purecss ============= */
	.pure-g > div {
        box-sizing: border-box;
    }
    
	.l-box{
		padding: 0 1em 2.5em 1em;
		display: flex;
		flex-direction: column;
		align-items: flex-start;
	}


	.pure-img.blockbild{
		margin-top: auto !important;
		max-width: 12em;
		height: auto;
		width: 70%;
		padding-top: 10%;
		flex-wrap: wrap;
	}

	/* Inserting a collapsed row between two flex items will make 
	* the flex item that comes after it break to a new row */
	.break {
	  flex-basis: 100%;
	  height: 0;
	}

	/* Use a collapsed column to break to a new column */
	.break-column {
	  flex-basis: 100%;
	  width: 0;
	}


	/* grid-layout ========================*/
	.grid_8 {
	  display: grid;
	  grid-template-rows: repeat(var(--bs-rows, 1), 1fr);
	  grid-template-columns: repeat(var(--bs-columns, 8), 1fr);
	  gap: var(--bs-gap, .5rem);
	}
	
@media screen and (max-width:64em) { 	
	.pure-u-1-5.l-box,
	.pure-u-1-6.l-box,
	.pure-u-1-8.l-box{
		padding: 0 0em 1em 1em;
		}
	.pure-u-1-6.l-box>.pure-img.blockbild,
	.pure-u-1-8.l-box>.pure-img.blockbild{
		width: 90%;
		}
	div.pure-hide-lg{
		display:none; 
	}			
	div.pure-hide-lg{
		display:none; 
	}		
}
	
@media screen and (max-width:35.5em) { 	
	#inhalt .eine_zeile{
		min-height:0px;
	}
}	
	
