/*
-----------------------------------------------
	www.o-l-a.eu
by  www.christinaschmid.de
and www.lichtsignale.de
----------------------------------------------- */


/*		R E S E T
----------------------------------------------- */

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
	font-variant-ligatures: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

html {
	height: 100%;
	-ms-text-size-adjust: none;
	-webkit-text-size-adjust: none;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section { 
	display: block;
}

blockquote, q {
	quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
	content: "";
	content: none;
}

a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
	outline: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

input, select {
	vertical-align: middle;
}

h1, h2, h3, h4, h5, h6, strong, b {
	font-weight: normal;
}


/*		W E B F O N T S
----------------------------------------------- */


@font-face {
		font-family: "Lausanne OLA";
		src: url("fonts/TWKLausanne-300.eot");
		src: url("fonts/TWKLausanne-300.eot?#iefix") format("embedded-opentype"),
			url("fonts/TWKLausanne-300.woff2") format("woff2"),
			url("fonts/TWKLausanne-300.woff") format("woff"),
			url("fonts/TWKLausanne-300.ttf") format("truetype");
		font-weight: 400;
		font-style: normal;
		font-display: swap;
}


/*		B A S I C S
----------------------------------------------- */

body {
	color: #000;
	background: #ededed;
	font-family: "Lausanne OLA", "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 16px;
	line-height: 21px;
	letter-spacing: 0.04em;
	word-spacing: -0.01em;
}

a:link, a:visited, #more {
	color: #000;
	text-decoration: none;
	border-bottom: 1px solid #7ca949;
}

a:hover, a:active, #more:hover {
	color: #7ca949;
	cursor: pointer;
}

*:focus {
	outline: none;
}

img, video {
	max-width: 100%;
	height: auto;
}

.royalSlider img {
	width: 100%;
	height: auto;
}


/*		H E A D E R
----------------------------------------------- */

header {
	position: relative;
}

header h1, header ul:first-of-type {
	margin-bottom: 10px;
}

header span {
	position: fixed;
	z-index: 3000;
}

header em {
	font-style: normal;
}

header em:nth-of-type(1) {
	padding-left: 14px;
	padding-left: 13.5px;
}

header em:nth-of-type(2) {
	padding-left: 9px;
	padding-left: 9.5px;
}

header em:nth-of-type(3) {
	padding-left: 11px;
}

#lang {
	position: absolute;
	right: 0;
	top: 0;
	font-size: 95%;
}

header nav li {
	list-style: none;
	display: inline-block;
	margin-right: 5px;
}

header nav li:last-child {
	margin-right: 0;
}

header a:link, header a:visited {
	color: #7ca949;
	border: none;
}

header a:hover, header a:active {
	color: #000;
}

header .current a {
	color: #000;
}


/*		B A S I C S
----------------------------------------------- */

#wrapper {
	margin: 14px 15px 30px 15px;
}

main {
	margin-top: 80px;
}

main h1, main h2, main h3, main p, main ul, main ol {
	margin-bottom: 21px;
}

main .small p {
	margin-bottom: 15px;
	margin-bottom: 15.5px;
}

main h2 {
	font-size: 150%;
	letter-spacing: 0.015em;
	line-height: 1.1;
}

main ul {
	margin-left: 15px;
}

main ul li {
	list-style: none;
	text-indent: -15px;
}

main ul li:before {
	content: "•";
	display: inline-block;
	margin-left: 15px;
	bottom: 1px;
	position: relative;
}

#overview {
	display: grid;
	row-gap: 15px;
}

#overview a {
	border: none;
	position: relative;
}

#overview a img {
	margin-bottom: -7px;
}

#overview a span {
	display: none;
}

#overview a:hover {
	background: #fff;
}

#overview a:hover span {
	display: block;
	position: absolute;
	left: 8px;
	top: 7px;
}

#overview a:hover img {
	opacity: 0;
}

#archive table {
	width: 100%;
}

#archive tr {
	border-top: 1px solid #ededed;
	border-bottom: 1px solid #ededed;
}

#archive tr:hover {
	cursor: pointer;
}

#archive tr:hover td.projekt, #archive tr:hover td.was, #archive tr:hover td.wo, #archive tr:hover td.wann {
	border-top: 1px solid #7ca949;
	border-bottom: 1px solid #7ca949;
	cursor: pointer;
	color: #7ca949;
}

#archive th:hover {
	cursor: pointer;
	color: #7ca949;
}

#archive tr:first-child:hover {
	cursor: default;
	color: #000;
}

#archive th, #archive td {
	font-weight: normal;
	text-align: left;
	vertical-align: top;
	padding: 10px 10px 10px 0;
}

#archive tr:first-child th {
	padding-top: 0;
}

#archive tr th:last-child, #archive tr td:last-child {
	padding-right: 0;
}

.was, .wo, .bild {
	display: none;
}

#archive .wann {
	text-align: right;
	padding-right: 0;
	white-space: nowrap;
}

.two-three, .one-one {
	display: grid;
	row-gap: 40px;
}

h3 {
	display: inline-block;
	width: 100%;
}

h3:hover {
	cursor: pointer;
	color: #7ca949;
}

.ui-accordion-header span {
	color: #7ca949;
}

.ui-accordion-header span:last-child:after {
	content: " ↓";
}

.ui-accordion-header.ui-state-active span:last-child:after {
	content: " ↑";
}

#auszeichnungen a:link, #auszeichnungen a:visited {
	color: #7ca949;
	border: none;
}

#auszeichnungen a:hover, #auszeichnungen a:active {
	color: #000;
}

#auszeichnungen a:before {
	content: "→ ";
	white-space: nowrap;
}

.eckdaten {
	margin-top: 42px;
	font-size: 75%;
	letter-spacing: 0.05em;
	line-height: 1.3;
}

figcaption, .rsGCaption, footer, .small {
	font-size: 75%;
	letter-spacing: 0.05em;
	line-height: 1.4;
}

hr {
	border: none;
	border-top: 1px solid #7ca949;
	margin: 40px 0;
}

.rsImg {
	margin-left: 0 !important;
	margin-top: 0 !important;
}


/*		F O O T E R
----------------------------------------------- */

#walkthrough {
	margin: 80px 0 0 0;
	font-size: 150%;
	width: 100%;
	display: grid;
	grid-template-columns: 50% 50%;
	justify-content: space-between;
}

#walkthrough a:last-child {
	text-align: right;
}

#walkthrough a:link, #walkthrough a:visited {
	color: #7ca949;
	border: none;
}

#walkthrough a:hover, #walkthrough a:active {
	color: #000;
}

footer {
	padding-top: 80px;
	padding-bottom: 1px;
}

footer ul {
	list-style: none;
	margin-bottom: 21px;
}

footer li {
	display: inline-block;
	margin-right: 5px;
}

footer ul:first-of-type li {
	display: block;
}


/*		R E S P O N S I V E
----------------------------------------------- */

@media screen and (min-width: 375px) {

header h1, #projekttitel {
	font-size: 150%;
	letter-spacing: 0.015em;
	line-height: 1.1;
}

header em:nth-of-type(1) {
	padding-left: 20px;
}

header em:nth-of-type(2) {
	padding-left: 14px;
}

header em:nth-of-type(3) {
	padding-left: 17px;
}

.wo {
	display: table-cell;
}

}


@media screen and (min-width: 414px) {

header ul:first-of-type li {
	font-size: 150%;
	letter-spacing: 0.015em;
	line-height: 1.1;
	margin-bottom: 13px;
}

}


@media screen and (min-width: 500px) {

#wrapper {
	margin: 14px 45px 30px 45px;
}

#overview {
	grid-template-columns: 1fr 1fr;
	column-gap: 15px;
}

.was {
	display: table-cell;
}

}


@media screen and (min-width: 745px) {

.one-one, .two-three {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 45px;
}

footer {
	display: grid;
	grid-template-columns: calc(50% - 22.5px) 1fr 1fr;
	column-gap: 45px;
}

footer li {
	display: block;
}

.projekt, .was {
	width: 35%;
}

}


@media screen and (min-width: 820px) {

header h1 {
	float: right;
	text-align: right;
}

#lang {
	right: -30px;
	top: -1px;
}

header ul:first-of-type li {
	margin-bottom: 5px;
}

#projekttitel {
	position: relative;
}

#projekttitel a {
	position: fixed;
	z-index: 3000;
	left: 16px;
	top: 14px;
}

}



@media screen and (min-width: 920px) {

#overview {
	grid-template-columns: 1fr 1fr 1fr;
	column-gap: 15px;
}

main h2, header h1, #projekttitel, header ul:first-of-type li {
	font-size: 175%;
	letter-spacing: -0.005em;
}

header em:nth-of-type(1) {
	padding-left: 23px;
}

header em:nth-of-type(2) {
	padding-left: 16px;
}

header em:nth-of-type(3) {
	padding-left: 19px;
}

#archive th, #archive td, #archive .wann {
	padding: 5px 15px 5px 0;
}

.projekt, .was {
	width: 30%;
}

.wo {
	width: 20%;
}

#archive .wann {
	padding-right: 0;
}

.bild {
	display: table-cell;
	padding-right: 0;
	padding-left: 15px;
	position: relative;
	text-align: right;
}

table img {
	display: none;
}

table tr:hover img {
	display: block;
	position: absolute;
	left: 30px;
	top: 0;
	width: calc(100% - 30px);
}

}


@media screen and (min-width: 1100px) {

.two-three {
	grid-template-columns: 2fr 3fr;
}

footer {
	grid-template-columns: calc(40% - 20px) 15% auto;
}

body {
	font-size: 20px;
	line-height: 27px;
	letter-spacing: 0.015em;
	word-spacing: 0;
}

main h1, main h2, main h3, main p, main ul, main ol {
	margin-bottom: 27px;
}

main .small p {
	margin-bottom: 18px;
}

main h2, header h1, #projekttitel, header ul:first-of-type li {
	letter-spacing: -0.01em;
}

header em:nth-of-type(1) {
	padding-left: 28px;
}

header em:nth-of-type(2) {
	padding-left: 19px;
}

header em:nth-of-type(3) {
	padding-left: 23px;
}

header nav li {
	margin-right: 0.25em;
}

#lang {
	right: -32px;
	top: -1px;
}

.rsWithBullets .rsGCaption {
	width: 65%;
	margin-top: -15px !important;
}

.eckdaten, figcaption, .rsGCaption, footer, .small {
	margin-top: 50px;
	font-size: 70%;
	letter-spacing: 0.035em;
}

figcaption, .small {
	margin-top: 0;
}

#overview {
	column-gap: 25px;
	row-gap: 25px;
}

#archive th, #archive td {
	font-weight: normal;
	text-align: left;
	vertical-align: top;
	padding: 12px 10px 12px 0;
}

#archive .wann {
	padding: 12px 0 12px 0;
}

}


@media screen and (min-width: 1600px) {

#wrapper {
	width: 1510px;
	margin-left: auto;
	margin-right: auto;
}

main h2, header h1, #projekttitel, header ul:first-of-type li {
	font-size: 200%;
	letter-spacing: -0.01em;
}

header em:nth-of-type(1) {
	padding-left: 32px;
}

header em:nth-of-type(2) {
	padding-left: 22px;
}

header em:nth-of-type(3) {
	padding-left: 27px;
}

.bild {
	width: 300px;
}

#projekttitel {
	width: 750px;
}

#projekttitel a {
	z-index: 100;
	left: calc(50% - 788px);
}

#lang {
	right: -40px;
}

header nav li {
	margin-right: 0.3em;
}

}