/*
*  General Style
*/
html {
  height: fit-content;
  min-height: 100vh; }

body {
  background-image: url("/images/rapport.svg");
  background-repeat: repeat;
  background-attachment: fixed; }
  .is-inverted body {
    background-color: black; }
    .is-inverted body #wrapper {
      filter: invert(100%);
      -webkit-filter: invert(100%); }
    .is-inverted body #menuwrapper {
      filter: invert(100%);
      -webkit-filter: invert(100%); }
    .is-inverted body #logowrapper {
      filter: invert(100%);
      -webkit-filter: invert(100%); }
    .is-inverted body img:not(.invertable) {
      filter: invert(100%);
      -webkit-filter: invert(100%); }

#viewport {
  overflow: hidden;
  min-height: 100vh;
  min-width: 100vw; }

main {
  min-height: 100vh;
  width: 100vw;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  position: relative; }

* {
  margin: 0;
  padding: 0; }

#logo {
  position: absolute;
  width: 210px;
  left: 15px;
  top: -15px; }

ul {
  list-style-type: none; }

/*
*  Struktur-Divs
*/
#wrapper {
  padding: 0px;
  margin-left: 200px;
  opacity: 0.999;
  pointer-events: none; }
  #wrapper #content {
    pointer-events: none; }
  #wrapper * {
    pointer-events: auto; }

#logowrapper {
  width: 100%;
  position: fixed; }

#menuwrapper {
  position: fixed;
  top: 0px;
  bottom: 0px;
  width: 300px;
  float: left;
  pointer-events: none;
  z-index: 10; }
  #menuwrapper #menu li {
    pointer-events: auto; }
  #menuwrapper #menubg {
    pointer-events: auto; }

/*
*  Kugel Style
*/
#kugel {
  display: inline-block;
  width: 2000px;
  height: 636px;
  margin-top: 172px;
  margin-left: 152px;
  margin-right: 30px;
  position: relative; }

#mitte {
  width: 1400px;
  height: 636px;
  margin-left: 316px;
  margin-right: 316px;
  background-color: #fff;
  position: absolute;
  left: 0;
  top: 0; }

#links {
  background-image: url("/images/kugel_links.png");
  width: 316px;
  height: 636px;
  position: absolute;
  left: 0;
  top: 0; }

#rechts {
  background-image: url("/images/kugel_rechts.png");
  width: 316px;
  height: 636px;
  position: absolute;
  right: 0;
  top: 0; }

#kugel #text {
  padding: 40px 20px;
  position: absolute;
  left: 0;
  top: 0; }

div.page {
  padding-top: 40px;
  text-align: center;
  padding-right: 50px;
  padding-left: 50px; }

div.first {
  width: 300px;
  padding-top: 60px;
  padding-left: 70px;
  float: left;
  padding-right: 30px; }

div.presimg {
  float: left;
  width: 740px;
  clear: right;
  margin-bottom: 25px; }

div.presimg img {
  height: 400px;
  margin-top: 20px;
  margin-left: 20px; }

div.ellipse_top {
  background-image: url("/images/ellipse_top.png");
  height: 258px; }

div.ellipse_bottom {
  background-image: url("/images/ellipse_bottom.png");
  height: 259px;
  margin-bottom: 40px; }

div.ellipse_middle {
  background-image: url("/images/ellipse_middle.png");
  background-repeat: x-repeat;
  width: 1190px; }

div.ellipse_text {
  position: absolute;
  top: 0px;
  left: 0px;
  padding: 30px 30px; }

div.ellipse_text img {
  max-width: 400px;
  max-height: 600px; }

.clr:after {
  content: "";
  display: block;
  clear: both; }

@media screen and (max-height: 700px) and (min-height: 551px) and (min-width: 875px) {
  #logowrapper {
    position: absolute; }
  #menuwrapper {
    position: sticky;
    top: -230px;
    height: 0px; }
  #menu {
    position: relative; } }

@media screen and (max-height: 450px) and (min-width: 55rem) {
  #logowrapper {
    position: absolute; }
  #menuwrapper {
    position: absolute; } }

@media screen and (max-width: 1200px) {
  #logowrapper {
    left: 0px;
    width: 100%;
    margin-left: 0px; } }

@media screen and (max-width: 55rem) {
  #logo {
    left: 447px;
    top: -25px;
    width: 200px; }
  #wrapper {
    width: auto;
    height: 100%;
    margin: auto;
    max-width: none; } }

@media screen and (max-width: 30rem) {
  #logowrapper {
    position: absolute;
    height: 300px; }
  #logo {
    left: auto;
    top: -30px;
    right: 15px;
    width: 162px;
    margin-top: -30px;
    margin-left: auto;
    margin-right: 15px;
    position: sticky; } }
