*{
  margin: 0;
  padding: 0;
}

body{
  position: relative;
  font-weight:bold;
  font-family: Karla ;
  font-size: 1.5vw;
}
section#cover-page{
  font-size:12.5vmin;
  line-height: 1em;
  letter-spacing: 0;
}
#cover-page div{
  display:inline-block;
  margin-right: auto;
  -webkit-touch-callout:none;
  -webkit-user-select:none;
  -khtml-user-select:none;
  -moz-user-select:none;
  -ms-user-select:none;
  user-select:none;
  -webkit-tap-highlight-color:rgba(0,0,0,0);
}

#cover-page>div .show-on-hover{
  display:none;
}
.hide-on-hover{
  display:inline-block;
}
#cover-page>div:hover .show-on-hover{
  display:inline-block;
}

#cover-page>div:hover .hide-on-hover{
  display:none;
}


#wrapper{
  position: relative;
  margin: 0 5vw;
  width: 90vw;
}
section header{
  padding-top:5vh;
}
section footer{
  padding-bottom:5vh;
}
h1, h2, h3, h4, h5, h6, a{
  font-size: inherit;
  color:inherit;
  font-weight: inherit;
  line-height: inherit;
  text-decoration: inherit;
}

h1, h2, h3, h4, h5{
  margin-bottom:1em;
}

#imprint-link{
  position:fixed;
  bottom:5vh;
  right:5vw;
  cursor: pointer;
  z-index:1;
}

section{
  position:relative;
  display:flex;
  flex-direction: column;
  height: 90vh;
  margin-right: 8vw;
}
section header{
  padding-top:5vh;
  height:22%;
}

section main{
  flex:1;
  display:flex;
  flex-direction: row;
}
section footer{
  position:relative;
}
#back-to-top{
  position:absolute;
  top:0;
  left:calc(50% - 5.5ex);
  cursor:pointer;
}

.flexcenter-v{
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.flexcenter-v div{
  flex: 0;
}

section main div{
  flex:1;
}
section main div:first-child{
  padding-right:10%;
}

@media screen and (orientation:portrait) {
    body{
      font-size:1.5vh;
    }
    header{
      height: 15%;
      line-height:1em;
    }
}
}
