
/*
Theme Name: template-EP11

*/





/* CSS Document */

@charset "utf-8";






/*---------------------------------------------------------------------------------------------*/
/* css reset by Eric Meyer: http://meyerweb.com
*/

html, body, div, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre, span,
abbr, address, cite, img, ins, kbd, q, s, samp,
small, strike, sub, tt, var,
center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, section, summary {
	display: block;
	margin: 0; 
	padding: 0;
	border: 0;
	
}


	
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}

ol, ul {
	list-style-type: none;
}

html {
	height: 100,1%;
	box-sizing: border-box;
	font-size: 100%; 
	overflow-y: scroll; 
	vertical-align: top;
	-webkit-text-size-adjust: 100%; 
	-ms-text-size-adjust: 100%; 
	--scroll-behavior: smooth;}
	

*, ::before, ::after { box-sizing: inherit; 
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;}



:root{
	--mainColor: #222;
	--secondColor:#acaaaa;
	--spacing-ext: 12px;	
	--spacing-top: 12px;
	--spacing-int: 12px;
	/*--spacing-vert: 1.5vw;*/
	--mainWidth:75%;
	--sideWidth:calc(100% - (var(--mainWidth)) - (var(--spacing-int)));
	--centralWidth:calc((var(--mainWidth)) - (var(--sideWidth)));
	
	--cWidth:calc(100% - 2*(var(--sideWidth)));
	--largeFont:1.3em;
}


		
/* Grundeinstellungen */		


body{
	overflow-wrap: break-word;
	line-height:1.3;
	font-kerning: auto;
	font-family:'Neue Haas Unica';
	font-family: 'Diatype';
	font-weight:300;
	font-size:1.3rem;	
	font-size:24px;
	font-size:22px;
	letter-spacing:0;
	color: var(--mainColor);
	scroll-behavior:smooth;
	}
	

	
@media screen and (min-width: 1500px){
	
	:root{
		--spacing-ext: 3vw;
	
	/*--mainWidth:85%;*/}
	
}

a, 
a:link, 
a:hover, 
a:visited {	
	color: currentColor;
	text-decoration:none;
	}
	
a{
	cursor:pointer;
	}
	


main a:hover{
	text-decoration:underline;
}

main a:hover h3,
main h3 a:hover{
	text-decoration:none;
}

/*
.projektlink a{text-decoration:underline;}
.projektlink a:before{content:"> ";}
*/

	
h1, h2, h3, h4, strong{
	font-weight:300;
	
	}
	
	
	
b, strong, h1, h3{
	font-weight:500;
	font-weight:300;
	}

h1, h2, h3, h4{
	line-height:1.1;
	margin-bottom:0.3em;
	letter-spacing:-0.01em;
	/*text-transform:uppercase;*/
	}


h1{
	font-size:1.35em;
	}
	
h2{
	font-size:36px;
	font-size:1.4em;
	}
	
h2.section-title{
	margin-bottom:1.5rem; 
	border-top:1px solid;
	display:inline-block;
	text-transform:uppercase;
	font-size:28px;
}
	


h3{
	font-size:1.2em;
	font-size:1.35em;
	margin-bottom:0.18em;
	}


	

/*span{display:inline-block}*/

.current-meu-item a{
	text-decoration:underline;
}

	
	


.cat-name{
	font-size: 0.8em;
  letter-spacing: 0.05em;
  /*text-transform: uppercase;*/
  line-height: 1;
}





.desktop-only{
	display:none;
	}
	
.date{
	display:block;
	font-size:0.72em;
	margin-top:0.2em;
}

a:focus:not(:focus-visible),
button:focus:not(:focus-visible) {
  outline: none;
}


/* ----------------------------------------------------------------------------------------------------- */
/* Content-Elemente */
/* ----------------------------------------------------------------------------------------------------- */

section{
	margin-bottom:3rem;
}

p
{
	margin-bottom:0.3em;
}

img{
	max-width:100%;
	height:auto;
	}
	


.wcaption{
	font-size:1rem;
	color:var(--secondColor);
}

figcaption{
	display: flex;
	width: 100%;
	justify-content: flex-end;
	font-size:0.8em;
}

.projekt-filter,
.projektfilter,
.nav-previous,
.nav-next{
	display:none !important
}



/* ----------------------------------------------------------------------------------------------------- */
/* Grundstruktur */
/* ----------------------------------------------------------------------------------------------------- */
	
#wrapper {
	}
	
header,	
main,
footer{
	position:relative;
	width:100%;
	clear:both;
	padding: var(--spacing-top) var(--spacing-ext);
	}
	
main{
	padding-top:0;
	scroll-behavior:smooth;
	
	}
	
	
@media screen and (min-width: 1100px){	

}	
	
header.start{
	position:absolute;
	top:0;
	left:0;
	z-index:10;
	background:#fff8;
}
	
	
footer{
	display:flex;
	justify-content: flex-end;
	align-items:flex-start;
	font-size:0.8em;
	}








/* ----------------------------------------------------------------------------------------------------- */
/* Header-Elemente */
/* ----------------------------------------------------------------------------------------------------- */
#logo{
width:7rem;
margin-bottom:5px;
}


	
#navbar h1,
.hauptmenu,
.zweitmenu
	{font-weight:300;
	line-height:0.8em;
	text-transform: uppercase;
	font-size: 1.35em;
	letter-spacing:0.02em;
	/*margin-top:var(--spacing-top) ;*/
	font-size:28px;
	letter-spacing:0;
	margin-bottom:5px;
	}
	

	
.hauptmenu li,
.zweitmenu li{
margin-bottom:0.3em;
}

.hauptmenu{
	font-size:32px;
}	
	
.zweitmenu{
	font-size: 1em;
}


	
	




/* ----------------------------------------------------------------------------------------------------- */
/* Startseite */
/* ----------------------------------------------------------------------------------------------------- */



.arbeitsfelder{
	text-transform:uppercase;
	/*font-size:0.88em;*/
	display:block;
	clear:left;
	/*margin:1.5em 0;*/
	}
	
.rsBullets{
margin-bottom:30px}


#teaser-text{
	margin-top:1rem;
	margin-bottom:5rem;	
	}
/*	
.teaser-text{
	font-size:24px;
	}
*/

.meldung-text{
	font-size:0.9em;
}	

.meldung-text a:hover{
	text-decoration:none
}
.text-block{
	margin-bottom:2rem;
}



/* ---------------------------------------------------------------------- */

/* Standard-page */

/* ---------------------------------------------------------------------- */



/* ---------------------------------------------------------------------- */

/* Beiträge */

/* ---------------------------------------------------------------------- */

	


/* ----------------------------------------------------------------------------------------------------- */
/* Page-about */
/* ----------------------------------------------------------------------------------------------------- */







/* ----------------------------------------------------------------------------------------------------- */
/* Galerie Formate */
/* ----------------------------------------------------------------------------------------------------- */


.galerie figure{
	aspect-ratio: 3 / 2;
	overflow: hidden;
	}
 
.galerie img {
    width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	}
	
.galerie li{
	margin-bottom:1em
	}
	
	
.galerie.projekte h3{
	font-size:1em;
	font-weight:300;
	}
	
	
	
/*Referenzliste */


ul.referenzliste li{
	padding: 0.3em 0;
	border-top:1px solid #888;
}

ul.referenzliste{line-height:1.8}

/*
ul.referenzliste span{
	margin-right:2rem;
}
*/



/* Filtermenu */
/*
.filtermenu a:after{
	font-family: "fontello";
  
  content: '\e802';
  margin-left: 0.3em;
  transform: rotate(90deg);
  display: inline-block;
  font-size: 0.9em;
}
*/


/* ----------------------------------------------------------------------------------------------------- */
/* Portfolio-single */
/* ----------------------------------------------------------------------------------------------------- */

.single-project .main-figure-wrapper{
	margin-bottom:2rem;
}


.royalSlider{	
	height:60vh;
}

.main-figure,
.banner-bild{
	aspect-ratio: 3 / 4;
	overflow: hidden;
}

 .main-figure img,
 .banner-bild img{
    width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}


	

.text-wrapper{margin-bottom:2.5rem}


.projdata p{
	display:block;
	margin-bottom:0.6em;
	
}

.data-label{
	display:block;
	text-transform: uppercase;
	font-size: 0.65em;
}
.data{
	font-size:0.9em;
	line-height:1.1;
}

.bilder-wrap li{
	margin-bottom:1rem;
	}
	
	
/* -----------------------------------------------------------------------------*/
/* Page-about - Accordion Menu */
/* -----------------------------------------------------------------------------*/


p.projektlink:before {
    content: "\2192 "; /* schöner Pfeil → */
}


.projektlink a {
	text-decoration:underline
}

/* -----------------------------------------------------------------------------*/
/* Page-about - Accordion Menu */
/* -----------------------------------------------------------------------------*/




.dropout {
  border-top: 1px solid currentcolor;
  position: relative;
  
}

.dropout-hidden {
  display: none;
  padding-top:25px;
  }
  

.active .dropout-hidden {
  display: block;
}

a.do-title h3::after {
  content: url('img/arrow-sq1.png');
  transform: rotate(45deg) scale(15%);
  position: absolute;
  top: -20px;
  right: -25px;
}

a.do-title.link h3::after {
	transform: rotate(-45deg) scale(15%);
}

.active a.do-title h3::after {
  transform: rotate(225deg) scale(15%);
}

.do-title {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 25px 0;
}

.do-title h3 {
  font-size: 1.4em;
  line-height: 1.45;
  font-size:var(--largeFont);
  font-weight:300;
}

a.do-title:hover {
  text-decoration: none;
}

.dropout .text{
	/*max-width:900px;*/
	margin-bottom:25px;
	margin-top:0.72rem;
}

.dropout .text em{
	font-style: normal;
	display:block;
	}


/* -----------------------------------------------------------------------------*/
/* read-more */
/* -----------------------------------------------------------------------------*/

span.rm{
	font-size:1.1em;
	margin-left:0.3em;
	display:inline-block;
	}
	
a:hover .rm{
	text-decoration:none;
}

.read-more {
  margin-top: 1rem;
}

.read-more summary {
  cursor: pointer;
  font-weight: 600;
  color: #0066cc;
  list-style: none;
}

.read-more summary::-webkit-details-marker {
  display: none;
}

.read-more summary::after {
  content: " mehr";
}

.read-more[open] summary::after {
  content: " weniger";
}



/* -----------------------------------------------------------------------------*/
/* Media-querries */
/* -----------------------------------------------------------------------------*/




@media screen and (min-width: 800px){
	
	:root{
	--mainColor: #222;
	--secondColor:#acaaaa;
	--spacing-ext: 2vw;	
	--spacing-top: 1vw;
	--spacing-int: 0.8vw
	}
	
	
	ul.galerie{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 3.2vw 1.3vw;
	justify-items: center;
	}
	
	.galerie li{
	margin-bottom:0;
	}
	

 /* 
 ul.galerie.meldungen{
	  grid-template-columns: repeat(2, 1fr);
	  gap: 3.6vw;
	  }
*/	  
	  
	  
	  
	  /* single Meldung 
	.bild-wrapper img{
	margin-bottom:10px;}
	
	.single-meldungen .bild-wrapper{
	aspect-ratio: 3 / 2;
	overflow: hidden;
	}
	
	.single-meldungen .bild-wrapper img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	}
	
	
	.2bild-wrapper{
		display:flex;
		}
  
  */
  figure.banner-bild{
	aspect-ratio:5/ 3;
	}
	
	.bilder-wrap {
	  list-style: none;
	  padding: 0;
	  margin: 0;

	  display: flex;
	  flex-wrap: wrap;
	  gap: 1rem;
	}

	.bilder-wrap .item {
	  width: 100%;
	  box-sizing: border-box;
	}

	.bilder-wrap .item.half {
	  width: calc(50% - 0.5rem);
	}

	.bilder-wrap img {
	  width: 100%;
	  height: auto;
	  display: block;
	}

	.bilder-wrap figcaption {
	  font-size: 0.9rem;
	  
	}
	
  


}


@media screen and (min-width: 1100px){
	
	
	.desktop-only{
	display:block;
	}
	
	header{
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
	/*padding:0 var(--spacing-ext) 1vw;*/
	height: 7.3vw;
	
	}
	
	
	
	#logo{/*font-size:5vw;*/
	width:10vw;
	line-height:0.6;
	/*margin-top:var(--spacing-top) ;*/
	}
	
	#navbar h1,
	.hauptmenu
	{
		font-size:1.33em;
	}	
		
	#navbar h1{
	line-height:0.8;
	}
	
	.main-frame{
	display:grid;
	grid-template-columns: auto var(--mainWidth);
	column-gap: var(--spacing-int);
	}
	
	.single-meldungen .main-frame{
	grid-template-columns: var(--sideWidth) auto var(--sideWidth);
	}
	
	.main-container,
	.galerie {
	 grid-column: 2 / 3;
	 grid-row:1/2;
	 }

	.side{
	grid-column: 1 / 2;
	grid-row:1/2;
	}
	
	
	figure.banner-bild{
	aspect-ratio: 5 / 3;
	}

	.main-figure,
	.meldung-figure{
	aspect-ratio:0;
	overflow: visible;
	}
	
	.single-meldungen .main-figure {
    aspect-ratio: 3 / 2;
	}
	
	div.nav-previous{
	grid-column: 1 / 2;
	grid-row:1/2;
	justify-self: center;
	margin-top:15vw;
	position:relative;
	display:none;
	}
	
	
	div.nav-next{
	grid-column: 3 / 4;
	grid-row:1/2;
	justify-self: center;
	margin-top:15vw;	
	position:relative;
	display:none;
	}
	
	
	
	.pfeil {
  position: relative; /* wichtig für absolut positionierten Pfeil */
  display: inline-block;
  padding-right: 30px; /* Platz für den Pfeil */
}

	.pfeil::after {
  content: url('img/arrow-sq1.png');
  transform: rotate(45deg) scale(15%);
  position: absolute;
  top: -20px;
  right: -25px;
}

	.nav-previous.pfeil:after { content: url('img/arrow-sq1.png'); transform: rotate(135deg) scale(15%); position: absolute; top: 15px; left: -25px; }

	.nav-next.pfeil:after { content: url('img/arrow-sq1.png'); transform: rotate(-45deg) scale(15%); position: absolute; top: 0; left: 0; }
	

	
	.dropout {
	display:flex;
	justify-content: space-between;
	}

	.dropout-hidden {
	padding-bottom:1.5em;
	width:var(--mainWidth);
	}
	
	
	
	/*.text-block{
	max-width:720px;
	max-width:34em;
	margin-bottom:1rem;
	}*/
	
	.dropout .text em{
	display:inline-block;
	min-width:4rem;
	}
	
 ul.referenzliste{
	display: flex;
	flex-wrap:wrap;
	/*justify-content: space-between;*/
	gap:0.2rem 1.5rem;
	}

ul.referenzliste span{display:inline-block#
	}
	
	
	
	#teaser-text{
		margin-bottom:7vw;
		/*font-size:1.125em;*/
	}
	
	.teaser-text{
		font-size:1.125em;
	}
	
	
	
	
	
	
	.single-project .main-figure,
	.royalSlider{	
		height:calc(100vh - 7.3vw);
	}

}

	



@media screen and (min-width: 1480px){
	body{
	font-size:24px;		
	}
	
	
	ul.galerie{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	}
	
	
	ul.galerie.projekte{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	}
	
	
	.dropout-hidden .bild {
		max-width: var(--centralWidth);
	}
	
	
	
	figure.banner-bild{
	aspect-ratio: 5 / 2;
	}
		
}




@media screen and (min-width: 1600px){
#logo{
	width:10vw;
	}
	
.text-block,
.bilder-wrap{
	width:48vw;
}
}

