@import url("https://fonts.googleapis.com/css?family=Roboto:400,200,700,800");
h2 {
  text-transform: uppercase;
  margin-bottom: 24px;
  border-bottom: 1px solid #B62626; }

* {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  text-decoration: none;
  list-style-type: none; }

a {
  color: black; }

body {
  font-family: 'Roboto', sans-serif; }

.wrapper {
  width: 100%;
  margin: auto;
  max-width: 1024px;
  padding: 0 2%; }

.topbar {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 96px;
  border-bottom: 1px solid #B62626; }

.logo {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  padding-left: 2%;
  padding-top: 15px; }
  .logo img {
    height: 72px; }

nav {
  width: 100%;
  max-width: 480px;
  padding: 0 2%;
  display: none; }
  nav ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding-top: 60px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row;
    flex-flow: row; }
    nav ul li a {
      text-transform: uppercase;
      font-weight: 600;
      color: black; }
      nav ul li a:hover {
        border-bottom: 1px solid #B62626; }

.nav-mobile {
  top: 100px; }
  .nav-mobile .mobile {
    position: absolute;
    left: 0%;
    width: 100%;
    top: 96px;
    background: rgba(0, 0, 0, 0.8);
    height: 45vw;
    line-height: 48px;
    color: white;
    display: none;
    z-index: 99; }
    .nav-mobile .mobile.visible {
      display: block; }
    .nav-mobile .mobile.hidden {
      display: hidden; }
    .nav-mobile .mobile li {
      text-align: center; }
      .nav-mobile .mobile li a {
        text-transform: uppercase;
        color: white;
        border-bottom: 1px solid; }

.burger-menu {
  position: absolute;
  right: 2%;
  top: 53px;
  cursor: pointer; }
  .burger-menu::before {
    font-size: 14px; }
  .burger-menu .bun {
    height: 6px;
    width: 36px;
    background: black;
    margin-bottom: 2px;
    -webkit-transition: all ease 0.2s;
    -o-transition: all ease 0.2s;
    transition: all ease 0.2s; }
    .burger-menu .bun.top.animation {
      -webkit-transform: translateY(8px) rotate(45deg);
      -ms-transform: translateY(8px) rotate(45deg);
      transform: translateY(8px) rotate(45deg); }
    .burger-menu .bun.bottom.animation {
      -webkit-transform: translateY(-8px) rotate(-45deg);
      -ms-transform: translateY(-8px) rotate(-45deg);
      transform: translateY(-8px) rotate(-45deg); }
    .burger-menu .bun.middle.animation {
      opacity: 0; }

header {
  height: 45vw;
  background: #FFB75;
  background: -webkit-gradient(linear, left top, right top, from(#ED8F03), to(#FFB75E));
  background: -webkit-linear-gradient(left, #ED8F03, #FFB75E);
  background: -o-linear-gradient(left, #ED8F03, #FFB75E);
  background: linear-gradient(to right, #ED8F03, #FFB75E);
  max-height: 420px;
  background-attachment: fixed; }
  header h1, header h2 {
    font-weight: 400;
    font-size: 5vw;
    color: white;
    background: rgba(0, 0, 0, 0.7);
    display: inline-block;
    padding: 5px;
    text-transform: uppercase;
    padding-left: 2%;
    -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
    border-bottom: 0; }
  header h1 {
    margin-bottom: 1vw; }

.slogan {
  position: relative;
  top: 100%;
  -webkit-transform: translateY(-100%);
  -ms-transform: translateY(-100%);
  transform: translateY(-100%); }

section {
  margin-top: 48px; }

main article {
  margin-top: 48px; }
  main article h3 {
    text-transform: uppercase;
    margin-bottom: 12px;
    border-bottom: none;
    font-size: 18px; }
  main article p {
    font-size: 18px;
    line-height: 28.8px;
    border-left: 1px solid grey;
    padding-left: 12px; }

#main h3::before {
  content: "";
  display: inline-block;
  width: 13px;
  height: 13px;
  background: #B62626;
  margin-right: 8px; }

#referenzen .referenz-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: wrap;
  flex-flow: wrap;
  -ms-flex-pack: distribute;
  justify-content: space-around; }
  #referenzen .referenz-content img {
    height: 144px;
    margin-bottom: 16px;
    -webkit-filter: grayscale(100%);
    filter: grayscale(100%); }

#kontakt ul {
  padding: 2% 10%;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  margin: auto;
  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); }

#kontakt li {
  line-height: 24px;
  font-size: 18px; }
  #kontakt li a {
    border-bottom: 1px solid; }

footer {
  margin-top: 48px;
  height: 96px;
  background: #101010; }
  footer ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    max-width: 220px;
    margin: auto;
    padding-top: 24px; }
    footer ul li a {
      color: white; }

.impressum-content {
  width: 90%;
  margin: auto;
  max-width: 1024px;
  margin-top: 48px; }
  .impressum-content .kontaktdaten {
    margin-bottom: 48px; }
  .impressum-content h3 {
    margin-bottom: 24px; }
  .impressum-content h4 {
    margin-bottom: 12px; }
  .impressum-content p {
    margin-bottom: 24px; }
  .impressum-content a {
    border-bottom: 1px solid grey; }

@media screen and (min-width: 800px) {
  nav {
    display: block; }
  .nav-mobile {
    display: none; }
  .slogan {
    -webkit-transform: translateY(-150%);
    -ms-transform: translateY(-150%);
    transform: translateY(-150%); }
    .slogan h1, .slogan h2 {
      font-size: 48px;
      padding-left: 5%; }
  #main-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    #main-content article {
      margin-top: 0;
      max-width: 400px; }
  section {
    margin-top: 72px; }
    section h2 {
      margin-bottom: 48px; } }

@media screen and (min-width: 1000px) {
  header {
    max-height: 580px; }
  nav {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%); } }
