/*
-----------------------------------------------
		www.mader-architekten.de
	 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;
	    -webkit-text-size-adjust: 100%;
}

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

body {
	    line-height: 1;
}

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;
}

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

input, select {
	    vertical-align: middle;
}

nav ul {
		list-style: none;
}


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

body {
		color: #222;
		background: #fff;
		font-family: Helvetica, Arial, sans-serif;
		font-size: 15px;
		line-height: 20px;
		letter-spacing: 0.015em;
		word-spacing: -0.05em;
		text-align: left;
}

h1, h2, h3 {
		font-weight: normal;
}

a:link, a:visited {
		color: #222;
		text-decoration: none;
}

header a:hover, header a:active, dl a:hover, dl a:active, #numbers a:hover, #numbers a:active,
#numbers button:hover, #numbers button:focus-visible {
		color: #222;
		font-weight: bold;
}

#main p a:link, #main p a:visited, .column1 a:link, .column1 a:visited, #caption a:link, #caption a:visited {
		border-bottom: 1px solid #ccc;
}

#main p a:hover, #main p a:active, .column1 a:hover, .column1 a:active, #caption a:hover, #caption a:active {
		border-bottom: 1px solid #222;
}

*::-moz-selection {
		background-color: #e2e2e2;
}

*::selection {
		background-color: #e2e2e2;
}

.column1 {
		width: 270px;
		float: left;
		vertical-align: top;
		margin-right: 40px;
		padding-bottom: 40px;
}

.column2 {
		width: 580px;
		float: right;
		vertical-align: top;
		margin-right: 20px;
}

.col4 {
		margin-right: 0 !important;
}


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

#wrapper {
		width: 1220px;
		margin: 20px 0 40px 20px;
}

header {
		width: 1200px;
		height: 155px;
}

h1 {
		width: 270px;
		float: right;
		margin-right: 0px;
}

h1 a {
		display: block;
}

nav {
		float: left;
		width: 620px;
}

nav li {
		display: block;
		float: left;
		width: 115px;
		margin-right: 40px;
}


/*		M A I N
----------------------------------------------- */

.column1 p, .column2 p {
		margin-bottom: 20px;
}

.column2 img {
		height: 386px;
		width: auto;
}

/* Der Reset ganz oben setzt outline:0 und nimmt damit der Tastatur-
   bedienung jede Sichtbarkeit. Fuer :focus-visible zurueckgeben --
   fuer die Maus aendert sich dadurch nichts. */
a:focus-visible, button:focus-visible {
		outline: 2px solid #222;
		outline-offset: 2px;
}

/* Bildergalerie (loest jQuery Cycle2 ab). Ohne JavaScript zeigt die
   erste Regel nur das erste Bild -- die Seite bleibt benutzbar. Sobald
   das Skript uebernommen hat, traegt der Container "bereit" und
   steuert die Sichtbarkeit ueber das hidden-Attribut. */
.galerie {
		cursor: pointer;
		touch-action: pan-y;
}

.galerie > img + img {
		display: none;
}

.galerie.bereit > img {
		display: block;
}

.galerie.bereit > img[hidden] {
		display: none;
}

#ameldungen {
		float: left;
		margin-top: 10px;
		width: 200px;
}

#ameldungen + #numbers {
		clear: left;
		margin-top: 0;
}

#ameldungen + #numbers + #caption {
		margin-top: 0;
}

#numbers {
		width: 280px;
		float: left;
		margin-top: 10px;
		margin-right: 30px;
}

#numbers a, #numbers button {
		padding: 0 10px 0 0;
}

/* Der aktive Knopf traegt aria-current -- der Zustand steht damit im
   Accessibility-Baum UND im Stylesheet, ohne zweite Zustandsklasse. */
#numbers [aria-current] {
		font-weight: bold;
}

/* Haelt die Zahlenreihe zusammen: sie soll als Ganzes umbrechen, nicht
   mittendrin -- so verhielten sich die frueheren <a> ohne Leerzeichen. */
.galerie-nummern {
		white-space: nowrap;
}

/* Groessere Beruehrflaeche, ohne das Layout zu veraendern: das
   Pseudo-Element vergroessert nur den anklickbaren Bereich (auf rund
   26 x 32 px), nicht die Box im Textfluss. */
#numbers button {
		position: relative;
}

#numbers button::after {
		content: "";
		position: absolute;
		inset: -6px -4px;
}

/* Die Knoepfe sollen aussehen wie die frueheren Links. */
#numbers button {
		display: inline;
		border: 0;
		background: none;
		font: inherit;
		color: inherit;
		cursor: pointer;
}

#caption {
		width: 270px;
		float: left;
		margin-top: 10px;
}

dl {
		margin-bottom: 20px;
}

dd {
		margin-left: 20px;
}


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

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

.column1 {
		width: 330px;
		float: left;
		vertical-align: top;
		margin-right: 50px;
}

.column2 {
		width: 710px;
		float: right;
		vertical-align: top;
		margin-right: 50px;
}

#wrapper {
		width: 1520px;
		margin: 25px 0 50px 25px;
}

header {
		width: 1520px;
		height: 190px;
}

h1 {
		width: 330px;
		float: right;
		margin-right: 50px;
}

nav {
		float: left;
		width: 760px;
}

nav li {
		display: block;
		float: left;
		width: 140px;
		margin-right: 50px;
}

.column2 img {
		height: 473px;
		width: auto;
}

#numbers {
		width: 330px;
		float: left;
		margin-top: 10px;
		margin-right: 50px;
}

#numbers a, #numbers button {
		padding: 0 15px 0 0;
}

#caption {
		width: 330px;
		float: left;
		margin-top: 10px;
}

}


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

body {
		font-size: 19px;
		line-height: 25px;
		letter-spacing: 0.02em;
		word-spacing: -1px;
}

.column1 p, .column2 p {
		margin-bottom: 25px;
}

#numbers {
		width: 410px !important;
		margin-top: 13px;
}

dl {
		margin-bottom: 25px;
}

dd {
		margin-left: 25px;
}

#caption {
		width: 270px;
		float: left;
		margin-top: 10px;
}

.column1 {
		width: 410px;
		float: left;
		vertical-align: top;
		margin-right: 50px;
}

.column2 {
		width: 870px;
		float: right;
		vertical-align: top;
		margin-right: 50px;
}

#wrapper {
		width: 1840px;
		margin: 25px 0 50px 25px;
}

header {
		width: 1840px;
		height: 230px;
}

h1 {
		width: 410px;
		float: right;
		margin-right: 50px;
}

nav {
		float: left;
		width: 920px;
}

nav li {
		display: block;
		float: left;
		width: 180px;
		margin-right: 50px;
}

.column2 img {
		height: 579px;
		width: auto;
}

#numbers {
		width: 460px;
		float: left;
		margin-right: 50px;
}

#caption {
		width: 410px;
		float: left;
}

}


/*		R E S P O N S I V E   S M A L L
----------------------------------------------- */

@media screen and (max-width: 1240px) {

body {
		font-size: 14px;
		line-height: 17px;
		letter-spacing: 0.04em;
		word-spacing: -0.04em;
		text-align: left;
}

.column1 {
		width: 250px;
		float: left;
		vertical-align: top;
		margin-right: 30px;
}

.column2 {
		width: 390px;
		float: right;
		vertical-align: top;
		margin-right: 0;
}

#wrapper {
		width: 960px;
		margin: 15px 0 30px 15px;
}

header {
		width: 810px;
		height: 130px;
}

h1 {
		width: 250px;
		float: right;
		margin-right: 0;
}

nav {
		float: left;
		width: 560px;
}

nav li {
		display: block;
		float: left;
		width: 110px;
		margin-right: 30px;
}

.column1 p, .column2 p {
		margin-bottom: 17px;
}

.column2 img {
		height: 260px;
		width: auto;
}

#numbers {
		width: 140px;
}

#numbers a, #numbers button {
		padding: 0 8px 0 0;
}

#caption {
		width: 250px;
}

dl {
		margin-bottom: 17px;
}

dd {
		margin-left: 20px;
}

}


@media screen and (max-width: 980px) {

.column1 {
		width: 250px;
		float: left;
		clear: right;
		vertical-align: top;
		margin-right: 30px;
}

.column2 {
		width: 390px;
		float: right;
		vertical-align: top;
		margin-right: 0;
		padding-bottom: 51px;
}

#wrapper {
		width: 670px;
		margin: 15px 0 30px 15px;
}

header {
		width: 670px;
		height: 110px;
}

h1 {
		width: 390px;
		float: right;
		margin-right: 0;
}

nav {
		float: left;
		width: 250px;
}

nav li {
		display: block;
		float: left;
		width: auto;
		margin-right: 15px;
}

#projekt, #aktuelles {
		margin-left: 280px;
}

.startaktuelles {
		margin-left: 0 !important;
}

}


@media screen and (max-width: 700px) {

.column2 {
		width: 250px;
}

#wrapper {
		width: 530px;
		margin: 15px 0 30px 15px;
}

header {
		width: 530px;
		height: 110px;
}

h1 {
		width: 250px;
		float: right;
		margin-right: 0;
}

nav {
		float: left;
		width: 250px;
}

nav li {
		display: block;
		float: left;
		width: auto;
		margin-right: 15px;
}

#projekt, #aktuelles {
		margin-left: 280px;
}

.column2 img {
		height: 166px;
		width: auto;
}

}


@media screen and (max-width: 560px) {

.column1 {
		width: auto;
		float: none;
		vertical-align: top;
		margin: 0 15px;
}

.column2 {
		width: auto;
		float: none;
		vertical-align: top;
		margin: 0 15px;
		padding-top: 17px;
}

#wrapper {
		width: 100%;
		margin: 17px 0 30px 0;
}

header {
		width: 100%;
		height: 119px;
}

h1 {
		width: 300px;
		float: none;
		margin: 0 15px;
		padding-bottom: 17px;
}

nav {
		float: none;
		width: 300px;
		margin: 17px 15px 0 15px;
}

#projekt, #aktuelles {
		margin-left: 15px;
		padding-bottom: 17px;
		padding-top: 34px;
}

.startaktuelles {
		margin-left: 15px !important;
}

.column2 img {
		height: 193px;
		width: auto;
}

#caption {
		clear: both;
}

}