@charset "utf-8";

/* pt-sans-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'PT Sans';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/pt-sans-v18-latin/pt-sans-v18-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* pt-sans-italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'PT Sans';
  font-style: italic;
  font-weight: 400;
  src: url('../fonts/pt-sans-v18-latin/pt-sans-v18-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* pt-sans-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'PT Sans';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/pt-sans-v18-latin/pt-sans-v18-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* pt-sans-700italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'PT Sans';
  font-style: italic;
  font-weight: 700;
  src: url('../fonts/pt-sans-v18-latin/pt-sans-v18-latin-700italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

html {

	overflow-x: hidden;

}

body {
	font-family: 'PT Sans', Helvetica, sans-serif;
	font-weight: normal !important;
	color: #222222;
}

strong, b {
	font-weight: normal;
}

.wrapper {
	width: 1280px;
	min-height: calc(100vh - 120px);
	margin: 0 auto;
	/* background: #f5f5f5; */
}

.content {
	width: 100%;
}

p {
	margin: 0 0 0.9em 0;
	font-size: 17px;
	line-height: 141%;
}

h1 {
	margin: 0 0 0.9em 0;
	font-size: 17px;
	line-height: 141%;
}
h2 {
	margin: 0 0 0.9em 0;
	font-size: 17px;
	line-height: 141%;
}
h3 {
	margin: 0 0 0.9em 0;
	font-size: 17px;
	line-height: 141%;
}

ul, ol {
}

ul li {
	margin: 0 0 0.9em 0;
	list-style: none;
	list-style-position: inside;
	font-size: 17px;
	line-height: 141%;
}

a {
	text-decoration: none;
	color: #808080;
}

a:hover {
	text-decoration: none;
	color: #A0A0A0;
}


/*
----------------------------------------------------------------------------------------------------------------------
	header
----------------------------------------------------------------------------------------------------------------------
*/

.header {
	padding: 42px 0 46px;
}

a.logo {
	text-transform: uppercase;
	text-decoration: none;
	color: inherit;
}

.logo_1st_part {
	display: inline-block;
	padding-right: 5px;
	padding-bottom: 3px;
	font-size: 30px;
	letter-spacing: 3px;
}

.logo_2nd_part {
	display: inline-block;
	font-size: 20px;
	letter-spacing: 1px;
	white-space: nowrap;
}










/*
----------------------------------------------------------------------------------------------------------------------
	project overview
----------------------------------------------------------------------------------------------------------------------
*/

.project_overview .project_items_wrapper {
	width: 100%;
	overflow: hidden;
}

.project_overview ul.project_items {
	/* float: left; */
	/* width: 101.171875%; */
	display: grid;
	grid-template-columns: repeat(1, 1fr); /* 6 gleich breite Spalten */
	column-gap: 1rem;
	row-gap: 1rem;
}

@media only screen and (min-width: 576px) {

	.project_overview ul.project_items {
		grid-template-columns: repeat(2, 1fr);
	}

}

@media only screen and (min-width: 768px) {

	.project_overview ul.project_items {
		grid-template-columns: repeat(3, 1fr);
	}

}

@media only screen and (min-width: 992px) {

	.project_overview ul.project_items {
		grid-template-columns: repeat(4, 1fr);
		column-gap: 2rem;
	}

}

@media only screen and (min-width: 1200px) {

	.project_overview ul.project_items {
		grid-template-columns: repeat(5, 1fr);
	}
}

@media only screen and (min-width: 1400px) {

	.project_overview ul.project_items {
		grid-template-columns: repeat(6, 1fr);
	}


}

.project_overview .project_item { /* li */
	/* float: left; */
	display: block;
	position: relative;
	overflow: hidden;
	width: 100%; /* width: 170px; */
	height: auto; /* 170px; */	/* height: 104px; */
	/* margin: 0 15px 15px 0; */
	/* background: lightblue; */
	margin: 0;
	padding: 0;
}
.project_overview .project_item a {
	position: relative;
	/* display: table; */
	/* text-align: center; */
	width: 100%;
	height: auto; /* 100%; */
	color: #222222;
	margin: 0;
	padding: 0;
	transition: color, opacity 250ms;
}
.project_overview .project_item a:hover {
	color: #666666; /* #222222; */
	text-decoration: none;
	opacity: 0.8;
}
.project_overview .project_item .project_image_wrapper {
	/* position: absolute; */
	text-align: center;
	width: 100%;
	height: auto; /* 100%; */
	top: 0;
	left: 0;
	background: white;
}
.project_overview .project_item img {
	/* position: absolute; */
	text-align: center;
	width: 100%;
	height: auto; /* 100%; */
	max-width: 100%;
	max-height: 100%;
	/* top: 0; */
	/* left: 0; */
	opacity: inherit;
	filter: inherit;
}
.project_overview .project_item span.project_title {
	/* display: table-cell; */
	display: block;
	position: relative;
	text-align: left;
	/* vertical-align: middle; */
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	/* padding: 4px 8px; */
	font-size: 14px;
	line-height: 1.4; /* 136% */
	color: inherit; /* #222222; */
}

/* legal item */

/*
.project_overview .project_item.legal_item {
}
*/

/*
.project_overview .project_item.legal_item a {
	display: table;
	text-align: left;
	width: 100%;
	height: 118px;
	margin: 26px 0 0 0;
	padding: 4px 8px;
	background: #cac8c8;
	text-transform: uppercase;
	font-size: 14px;
	color: white;
}
*/

/*
.project_overview .project_item.legal_item .project_item_inner {
	display: table-cell;
	vertical-align: bottom;
}
*/

/* fouc */

/*
.project_overview .project_items {
	visibility: hidden;
}
.js .project_overview .project_items {
	visibility: visible;
}
*/





/*
----------------------------------------------------------------------------------------------------------------------
	project details
----------------------------------------------------------------------------------------------------------------------
*/


.project_detail .content {

	display: grid;
	grid-template-columns: repeat(2, 1fr);

}

.project_detail .content:has(> :only-child) {

	display: block;

}

.project_detail .content .main {

}

.project_detail .content .sidebar {

	padding-left: 30%;

}

.project_detail .content .sidebar:only-child {

	max-width: 896px;
	padding: 0;

}

@media only screen and (max-width: 768px) {

	.project_detail .content {

		display: block;

	}

	.project_detail .content .sidebar {

		padding: 0;

	}

}


.project_detail .images {
	width: 100%;
}
.project_detail .images .image {
	margin: 0 0 15px 0;
}
.project_detail .images .image img {
	width: 100%;
}


.project_detail .sidebar ul {

	margin-bottom: 1rem;

}

.project_detail .sidebar ul li {

	margin: 0;
	padding-top: 0.75rem;
	padding-bottom: 0.75rem;
	border-bottom: 1px solid #CDCDCD;

}

.project_detail .sidebar ul li:first-child {

	border-top: 1px solid #CDCDCD;

}

.project_detail .sidebar ul li p {

	margin: 0;

}



/*
----------------------------------------------------------------------------------------------------------------------
	contact / legal notice
----------------------------------------------------------------------------------------------------------------------
*/


.basic_page .content {
	width: 50%;
}

@media screen and (max-width: 640px) {

	.basic_page .content {
		width: 100%;
	}

}

.basic_page h2 {
	padding: 2.0em 0 0 0;
}

.basic_page .section_copyright {
	padding: 2em 0 0 0;
}
.basic_page .section_copyright h3 {
	padding: 0.2em 0 0 0;
	margin: 0 0 0.7em 0;
	font-size: 14px;
}
.basic_page .section_copyright p {
	font-size: 14px;
}
.basic_page .section_copyright ul {
	margin: 0 0 2.0em 0;
}
.basic_page .section_copyright ul li:before {
    display: inline-block;
    float: left;
    width: 14px;
	content: '©';
}
.basic_page .section_copyright ul li {
    display: block;
    margin: 0;
    padding-left: 14px;
    text-indent: -14px;
	font-size: 14px;
}



/* dse */
.basic_page h1:not(:first-child) {

	padding-top: 4em;

}

.basic_page h1 + h2 {

	padding-top: 0;

}

.basic_page h3 {

	padding-top: 0.9em;
	text-transform: uppercase;
	font-size: 0.8em;
	letter-spacing: 1px;

}

.basic_page strong {

	font-size: 0.8em;
	font-weight: bold;

}

.basic_page ul {

	padding-top: 0.9em;
	margin-bottom: 1.6em;

}

.basic_page ul li {

	margin-bottom: 0.2em;

}

.basic_page ul li:before  {

	content: '–';
	display: inline-block;
	padding-right: 0.25em;

}

.basic_page footer ul li:before  {

	display: none;

}


/*
----------------------------------------------------------------------------------------------------------------------
	footer
----------------------------------------------------------------------------------------------------------------------
*/

.footer {
	float: left;
	clear: both;
	height: 25px;
}





/*
----------------------------------------------------------------------------------------------------------------------
	noscript
----------------------------------------------------------------------------------------------------------------------
*/

.noscript {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100px;
	margin: 0;
	padding: 14px 14px 14px 54px;
	border-bottom: 1px solid #A29330;
	background: #fff699;
	color: #000000;
	text-align: center;
	z-index: 1001;
	font-size: 17px;
	line-height: 141%;
}
.noscript_inner {
	position: relative;
	overflow: auto;
    text-align: center;
    width: 100%;
	height: 72px;
    margin: 0;
    padding: 0 14px 0 0;
    font-weight: 600;
    color: #000000;
}
.wrapper {
	margin-top: 80px;
}
.js .wrapper {
	margin-top: 0;
}



/*
----------------------------------------------------------------------------------------------------------------------
	responsive
----------------------------------------------------------------------------------------------------------------------
*/

@media only screen and (max-width: 1360px) {

	.wrapper {
		width: 100%;
		padding: 0 40px 0 40px;
	}

}

@media only screen and (max-width: 576px) {

	.wrapper {
		padding: 0 1rem 0 1rem;
	}

}

@media only screen and (max-width: 1024px) {

	/* project overview */

	.project_overview ul.project_items {
		float: left;
		width: 101.59574468085107%;
	}

	.project_overview .project_item.legal_item a {
		height: 122px;
		margin: 27px 0 0 0;
	}

}

@media only screen and (max-width: 768px) {

	/* project overview */

	.project_overview ul.project_items {
		float: left;
		width: 102.03488372093024%;
	}

	/* project detail */
	/*
	.project_detail .main {
		float: none;
		width: 100%;
	}

	.project_detail .sidebar {
		float: none;
		width: 100%;
	}
	*/

}

footer {

	clear: both;
	padding: 3rem 40px 2rem 40px;

	ul {

		display: flex;
		column-gap: 2rem;
		row-gap: 0.5rem;
		justify-content: center;
		flex-wrap: wrap;
		width: 100%;
		padding: 1rem 0 0 0;
		border-top: 1px solid #CDCDCD;

	}

	li {

		display: block;
		margin: 0;
		padding: 0;

	}

	a {

		display: block;
		/* padding: 0.5rem; */

	}

	@media only screen and (max-width: 576px) {

		padding: 1.5rem 1rem 1rem 1rem;

	}

}




