@import url('https://fonts.googleapis.com/css?family=Noto+Sans');

:root {
  min-height: 100vh;
  
  padding: 1em 2em 0 0;
  
  background-color: #142444;
  background-image: url("stars.png");
  background-position: 50% 0%;
  background-size: 40em;
  
  font-family: Noto Sans;
  font-style: italic;
  font-size: 3.2vmin;
  color: white;
  text-shadow: 0 0 0.2em #142444, 0 0 0.3em #142444, 0 0 1em #fffab5;
  text-align: right;
  
  box-shadow: inset 0 0 8em #171727;
  
  overflow: hidden;
}

a {
  text-decoration: none;
  color: inherit;
  
  cursor: pointer;
}

a:hover {
  text-decoration: underline;
}

header h1 {
  height: 9em;
  
  margin: -1em -0.4em -2em 0;
  
  background-image: url("logo.svg");
  background-repeat: no-repeat;
  background-position: right center;
  background-size: contain;
  
  color: transparent;
  text-shadow: none;
}

aside {
  position: absolute;
  
  left: -7em;
  bottom: -5em;
  
  padding: 3em 4em 7em 8em;
   
  background-color: #fffab5;
  
  border-radius: 100%;
  
  color: black;
  text-align: center;
  text-shadow: none;
  
  transform: rotate(20deg);
}

ul {
  list-style: none;
}

li {  
  line-height: 2.2em;

  white-space: nowrap;
}

li a {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

li a img {  
  width: 1.6em;
  height: 1.6em;
  
  margin-right: 0.4em;
}

small {
  font-size: 12px;
  font-style: normal;
}

@media screen and (orientation: portrait) {  
  :root {
    padding: 0 2em 0 0;

    font-size: 4.2vmin;
  }

  header h1 {
    height: 6em;
  }
  
  aside {
    left: -6em;
    bottom: -4em;

    padding: 1.8em 4em 6em 6em;

    font-size: 80%;
  }
}

@media (max-aspect-ratio: 21/16) and (min-aspect-ratio: 5/6) { 
  :root {
    padding: 1em 3em 0 0;
  }
  
  aside {
    display: none;
  }
}

#impressum {  
  position: fixed;
  
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  
  padding: 1em;
  
  background: #fffab5;
  
  font-size: 12px;
  text-align: left;
  color: black;
  text-shadow: none;
  
  overflow-y: auto;
}

#impressum small {
  display: block;
  text-align: right;
}