body {
  background: #fff;
  color: #000;
  font-family: 'Brawler', serif;
  font-size: 15px;
  margin: 0;
}

a {
  color: #2d7cca;
  text-decoration: none;
  font-weight: bold;
}

a:hover {
  text-decoration: underline;
}

ul {
  list-style-type: disc;
}

* {
  box-sizing: border-box;
}

#clear {
  clear: both;
}

@keyframes rotate {
  100% { transform: rotate(-720deg); }
}

@keyframes sway {
  0% { background-position-x: 35%, 65%; }
  100% { background-position-x: 50%, 100%; }
}

#container {
  background: url('systemair.svg') no-repeat 100% 100% #fff;
  background-size: 10em;
  background-origin: content-box;
  width: 1080px;
  padding: 0 1.5em 1em;
  margin: 0 auto;
}

#header {
  background: linear-gradient(to bottom, skyblue, transparent);
}

#banner {
  width: min(35em, 95vw);
  height: calc(min(35em, 95vw) * 17 / 35);
  margin: 0 auto;
  position: relative;
  background:
    url('cloud-a.svg') no-repeat,
    url('cloud-b.svg') no-repeat;
  background-position:
    50% 10%,
    100% 10%;
  background-size:
    14%,
    25%;
  animation: sway 20s ease-in-out alternate infinite;
  will-change: background-position;
}

#banner svg {
  width: 100%;
  height: 100%;
}

#banner #fan {
  transform-box: fill-box;
  transform-origin: 50% 50%;
  animation: rotate 2s ease 1s 1;
}

#content {
  width: 80%;
  float: left;
}

#sidebar {
  width: 15%;
  float: right;
}

#kontakt {
  margin-bottom: 3em;
}

#footer {
  text-align: left;
  font-size: 0.9em;
  margin-top: 1em;
}

@media only screen and (max-device-width: 1079px) {
  #container {
  width: 100%;
  }
  #content {
  width: 100%;
  float: none;
  }
  #sidebar {
  width: 90%;
  margin: 2em auto;
  }
  #kontakt {
  float: left;
  }
  #snabblankar {
  float: right;
  margin-right: 15%;
  margin-bottom: 10%;
  }
}

@media only screen and (max-device-width: 479px) {
  #container {
  background-position: 100% calc(100% - 4.9em);
  }
  #kontakt {
  margin-bottom: 0;
  }
  #snabblankar {
  float: left;
  clear: both;
  margin-right: 0;
  margin-bottom: 0;
  }
  #footer {
  text-align: center;
  }
}
