*, *::before, *::after {
    box-sizing: border-box;
  }
html{
    height: 100vh;
    font-size: 16px;
}
/* Hide scrollbar for Chrome, Safari and Opera */
body::-webkit-scrollbar {
  display: none;
}


body{
    background-color: #9cb5c3;
    padding: 5vw;
    height: 100vh;
    margin: 0;
    font-family: funnelsans;
    box-sizing: border-box;
    font-size: 16px;
    -ms-overflow-style: none;  /* IE and Edge */
    scrollbar-width: none;  /* Firefox */
}
main{
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: space-between;
}
a{
    color: #ebf0f3;
    text-decoration: none;
    font-weight: lighter;


}
@font-face {
    font-family: newsreader ;
    src: url("fonts/Newsreader/Newsreader-VariableFont_opsz\,wght.ttf");
}
@font-face {
    font-family: funnelsans ;
    src: url("fonts/Funnel_Sans/FunnelSans-VariableFont_wght.ttf");
}
.keyviz{
    width: 37%;
    position: relative;
    top: -1.2rem;
    margin-right: 11%;
    font-size: 3rem;
    line-height: 1;
    font-weight: 350;
    font-size: clamp(1.2rem, 2vw + 0.5rem, 3.5rem);

}
.keyviz p{
  margin: 0;
  margin-left: 7px;
}
.dpimg{
  position: relative;
  left: calc(-1.1em + 7px);
  height: 1.2em;
  margin-bottom: -0.1em;
  margin-top: 7px;
}
.infos p{
    margin-bottom: 0;
}
.infos{
    color: #ffffff;
    margin-top: 15%;
    font-size: clamp(0.8rem, 2.2vh + 0.5rem, 1.7rem);
    line-height: 1.2;
    text-align: right;
    font-weight: 600;
    position: absolute;
    top: 5vw;
    right: 6vw;
}
.lite{
    color: #ebf0f3;
    font-weight: lighter;
}
.contact:hover{
    color: #4e5b62;
}
footer{
   margin: auto;
   width: 100%;
   text-align: center;
 position: absolute;
    bottom: 0.5rem;
    left: 0;
}
.impressum{
    color:#4e5b62;
    font-size:0.7rem;
    left:50vw;
    transform: translateX(-50%);
}


/*IMPRESSUMM TEMPORARY CSS*/
.imp{
    width: 70vw;
    margin: auto;
    margin-bottom: 20vh;
}
.imp a{
  color: #4e5b62;
}
/* Large screens (desktop 2501px+) */
@media screen and (min-width: 2501px) {
  .infos {
    font-size: 2.8rem;
  }
}

@media screen and (max-height: 650px) {
  .infos {
    font-size: 1rem;
  }}
  @media screen and (max-height: 750px) and (min-height: 651px){
    .infos {
      font-size: 1.2rem;
    }
  body{
    padding: 4vw;
  }
}
@media screen and (min-height: 751px) {
  .infos {

  }
}
@media screen and (min-height: 751px) and (max-height: 880px){
  .infos {
    font-size: 1.5rem;

  }
}
@media screen and (min-height: 1201px) {
  .infos {
    font-size: 2.2rem;
  }
}
@media screen and (min-width: 3001px) {
  .infos {
    font-size: 3.4rem;
    margin-top: 17%;
  }
}

/* Portrait */
@media (orientation: portrait) {
  body {
   min-height: 100vh;
    padding: 10vw;
    display: flex;
    flex-direction: column;
    height: auto;
  }
  .dpimg{
    position: relative;
    left: -1.1em;
    height: 1.2em;
    margin-bottom: -0.1em;
    vertical-align: middle;

  }
 
  main {
    flex-direction: column;
    align-items: center;
    height: 100%;
    flex: 1 0 auto;
  }

  footer {
    width: 100%;
    text-align: center;
    position: relative;
    bottom: 0;
    left: 0;
    flex-shrink: 0;
  }

  .impressum {
    font-size: 0.5rem;
  }

  .keyviz {
    width: 100%;
    margin: 0;
    top: 0;
    font-size: clamp(1.2rem, 5vw + 0.5rem, 3.5rem);

  }
  .titleimg{
    width: 105%;;
  }

  .infos {
    margin: 0;
    margin-top: 0;
    position: relative;
    width: 100%;
    font-size: clamp(0.8rem, 2.5vw + 0.5rem, 1.5rem);
    bottom: 0;
    right: 0;
  }

  @media (min-height: 760px) {
    .keyviz {
      width: 100%;
    }

    .infos {
      width: 100%;
    }
  }
}

/*
@media screen and (min-width: 2501px) {
    .infos{
        font-size: 2.8rem;
    }
}
@media screen and (min-width: 3001px) {
    .infos{
        font-size: 3.4rem;
        margin-top: 17%;
    }
}
@media (orientation: portrait) {
    body{
        min-height: 100vh;
        padding: 6vw;
        display: flex;
        flex-direction: column;
    }
    main {
      flex-direction: column;
      align-items: center;
      height: 100%;
      flex: 1 0 auto;
    }
    footer{
        margin: auto;
        width: 100%;
        text-align: center;
        position: relative;
        bottom: 0;
        left: 0;
        flex-shrink: 0;
        
    }
    .impressum{
        font-size: 0.5rem;
    }
  
    .keyviz {
      width: 85%;
      margin: 0;
      top: 0;

    }
  
    .infos {
      margin: 0;
      margin-top: 0;
      position: relative;
      font-size: 1.2rem;
      bottom: 0;
      right: 0;
      width: 80%;
    }
  }
  
  @media (orientation: portrait) and (max-width: 400px) {
    .infos {
      font-size: 0.9rem;
      width: 80%;
    }
  }
  @media (orientation: portrait) and (max-width: 350px) {
    .infos {
      font-size: 0.9rem;
      width: 80%;
    }
  }
  @media (orientation: portrait) and (min-width: 701px) {
    .infos {    
         font-size: 1.5rem;
    }
  }
  @media (orientation: portrait) and (max-height: 759px) {
    .infos {    
         font-size: 1.5rem;
    }
}

  @media (orientation: portrait) and (min-height: 760px) {
    .infos {
      font-size: 0.9rem;
      width: 100%;
    }
  
    .keyviz {
      width: 100%;
    }
  
  
  }
  */