/* normaize */
body, h1, h2, h3, h4, h5, h6, p, ol, ul {
  margin: 0;
  padding: 0;
  font-weight: normal;
}

ol, ul {
  list-style: none;
}

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

/* utils */
.nowrap {
  white-space: nowrap;
}

body {
	font-family: Arial, Helvetica, sans-serif;
	margin: 0;
	padding: 0;
	font-size: 12px;
	color: #000;
	background-color: #121212;
}

p {
  margin-bottom: 10px;
}

.wrapper {
  margin: 20px auto;
  width: 96%;
  max-width: 960px;
  border:1px solid #c7cbca;
  background-color: #fff;
}

.header, .top-menu {
  padding-left: 290px;
  background-color: #19505A;
}
.header {
  position: relative;
  height: 120px;
}
.header__logo {
  position: absolute;
  left: 20px;
  top: 20px;
}
.header__logo img {
  height: 120px;
}
.header__title {
  padding-top: 28px;
  font-size: 36px;
  line-height: 1em;
  color: #fff;
}
.header__title span {
  display: block;
  padding-top: 8px;
  font-size: 20px;
  line-height: 24px;
}
.top-menu {
  height: 42px;
}
@media only screen and (max-width: 840px) {
  .header, .top-menu {
    padding-left: 200px;
  }
}
@media only screen and (max-width: 580px) {
  .header {
    height: 156px;
  }
  .header, .top-menu {
    padding-left: 20px;
  }
  .header__logo {
    position: relative;
    left: 0;
  }
  .header__logo img {
    height: 60px;
  }
}


.main {
  /* border-top: 4px solid #19505A; */
}

.main__address {
  margin-bottom: 4px;
  padding: 10px 10px 10px 290px;
  color: #4E5251;
}
.main__address .nowrap {
  padding-right: 2px;
}
@media only screen and (max-width: 840px) {
  .main__address {
    padding-left: 20px;
  }
}

.main__body {
  display: flex;
  flex-direction: row;
  min-height: 400px;
}
@media only screen and (max-width: 580px) {
  .main__body {
    flex-direction: column;
  }
}

.main__sidebar {
  flex-shrink: 0;
  position: relative;
  flex-basis: 250px;
  padding-right: 40px;
}

.main__sidebar h1 {
  position: absolute;
  right: 40px;
  top: 0;
}

.main__sidebar ul {
  height: calc(100% - 112px);
  margin-top: 40px;
  margin-left: 4px;
  border-top: 40px solid #800d26;
  padding: 14px 0;
  background-color: #800d26;
}
@media only screen and (max-width: 580px) {
  .main__sidebar {
    flex-basis: auto;
  }
  .main__sidebar h1 {
    display: none;
  }
  .main__sidebar ul {
    margin-top: 0;
    border-top-width: 10px;
  }
}
.main__sidebar a {
  max-width: 188px;
  display: block;
  padding: 4px 40px 4px 18px;
  font-size: 12px;
  line-height: 15px;
  color: white;
  text-decoration: none;
}
.main__sidebar a:hover {
  background-color: #d13d5d;
}
.main__sidebar a.active {
  background-color: #267B8A;
  font-weight: bold;
}
.main__sidebar ul ul {
  margin: 4px 20px;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
  padding: 4px 0;
}

.wrapper--giesing {
  position: absolute;
  bottom: 20px;
  left: 20px;
  width:210px;
}

@media only screen and (max-width: 580px) {
  .main__sidebar a {
    max-width: 54px;
  }
  .wrapper--giesing {
    top: 30px;
    right: 20px;
    bottom: 20px;
    left: auto;
  }
}
@media only screen and (max-width: 360px) {
  .wrapper--giesing {
    width: 170px;
  }
}
.main__content {
  padding: 40px 40px 40px 0;
}
@media only screen and (max-width: 580px) {
  .main__sidebar {
    padding-right: 4px;
  }
  .main__content {
    padding-left: 23px;
  }
}
.main__content h2 {
  margin-bottom: 18px;
  color: #8E1D39;
  font-size: 20px;
  line-height: 24px;
}
.main__content ul {
  margin-left: 12px;
  list-style: square;
}
.main__content li {
  padding-bottom: 4px;
}

.referenz {
  display: flex;
  felx-direction: row;
  margin-bottom: 40px;
}

.referenz__bild {
  flex-shrink: 0;
  flex-basis: 320px;
}

.referenz__beschreibung {
  margin-left: 20px;
}
.referenz__beschreibung h3 {
  margin-bottom: 10px;
}
