*{
    margin: 0px;
    padding: 0px;
    box-sizing: border-box;

    font-style: normal;

    font-family: Arial, sans-serif;


}
html, body{
    line-height: 1.6;
    color: #f9f9f9;
    height: 100%;
    max-height: 100%;
    background: #131313;
}
body{
    overflow-x: hidden;
    display: grid;
    grid-template-rows: auto 1fr ;
}

header{
    text-align: right;
    position: absolute;
    right: 0;
    z-index: 3;
    transition: transform 2000ms ease-in-out;
    width: 100%;
    display: grid;
}

nav{
    display: inline-block;
    align-self: flex-end;
}
nav .top-navigation{
    display: grid;
    grid-template-columns: repeat(4,auto);
    gab: 10px;
    grid-gap: 18px;
    padding: 10px 13px;
    list-style: none;
    justify-content: flex-end;
}
 a, .textbox{
    font-size: 11px;
    text-transform: uppercase;
    font-family: Arial, sans-serif;
    font-weight: 600;
    letter-spacing: .1em;
    text-decoration: none;
    border-bottom: 2px solid transparent;
    padding-bottom: 5px;
    transition: border-bottom 200ms ease-in-out;
}
 a:hover{
    border-bottom: 2px solid #131313;
}
nav a:hover{
    border-bottom: 2px solid #f9f9f9;
}
.textbox{
    align-self: flex-start;
    display: inline-block;
    color: #131313;
    background: #f9f9f9;
    padding: 7px 3px;
    text-align: center;
}

.textboxInline {
    align-self: flex-start;
    justify-self: flex-start;
    display: inline-block;
    color: #131313;
    background: #f9f9f9;
    padding: 7px 21px;
    text-align: center;
}

main {
    display: grid;
    grid-template-rows: repeat(2,1fr);
    height: 100vh;
    width: 100%;
    z-index: 2;
    transition: height 1500ms ease-in-out;
}
main section:nth-of-type(1){
    display: grid;
    justify-content: center;
    align-content:center;
}
main section:nth-of-type(1) img{
    transition: all 1000ms ease-in-out;
}

main section:nth-of-type(2){

    display: grid;
    align-content:flex-end ;

    padding: 22px 27px;

}

@media (max-width: 731px) {
    main section:nth-of-type(1) img{
        width: 70vw;
        max-width: 70vw;
    }
    nav .top-navigation{
        grid-template-columns: repeat(4,1fr);
        width: 100vw;
        justify-content: stretch;
        grid-gap: 0;
    }
    nav .top-navigation li{
        justify-content: stretch;
        text-align: center;
    }
}



 a {
    font-size: calc(0.625rem + ((1vw - 3.33px) * 0.3706));
    min-height: 0vw;
     cursor: pointer;
}
nav a {
    color: #f9f9f9;
}
a:visited {
    color: inherit;
}
h1 {
    font-size: calc(2rem + ((1vw - 3.33px) * 5.55));
    font-weight: 600;
    font-style: italic;
    line-height: 1.1;
    font-family: magneta,serif;
    letter-spacing: 5px;
    text-transform: uppercase;

}
h2 {
    font-size: calc(2rem + ((1vw - 3.33px) * 4.5585));
    font-weight: 600;
    font-style: italic;
    line-height: 1;
    font-family: magneta,serif;
    letter-spacing: 5px;
    text-transform: uppercase;
}

@media (min-width: 2222px) {
    nav a {
        font-size: 17px;
    }
    h1 {
        font-size: 144px;
    }
    h2 {
        font-size: 90px;
    }
}
.background{
    position: absolute;
    width: 100vw;
    height: 100vh;
    z-index: 1;
}

.background.overlay-gradient{
    background: rgb(0,0,0);
    background: radial-gradient(circle, rgba(0,0,0,1) 0%, rgba(0,0,0,1) 100%);
    mix-blend-mode: multiply;

}
.background.bg-image{
    background-image: url("../media/bg.jpg");
    background-size: cover;
    background-position: center center;
    opacity: 20%;
    transition: opacity 3000ms ease-in-out;

}

#impressum{
    pointer-events: none;
    padding: 25px;
    background: white;
    color: black;
    display: grid;
    opacity: 0;
    z-index: 4;
    margin: 10vh 10vw;
    width: 80vw;
    height: 80vh;
    position: absolute;
    transition: opacity 200ms ease-in-out;
    font-weight: 500;
    overflow-y:scroll;
}
#impressum strong{
    font-weight: 700;
    color: black;
}
#impressum .closeImpressum{
    margin: 20px 30px;
    position: absolute;
    right: 0;
}
.textblock{
    padding-bottom: 234px;
    margin: 100px auto;
    max-width: 900px;
}