/* FryaFree */
/* Webdevelopment: hyperstud.io */

@font-face {
    font-family: 'Ford Light Extended';
    src: url('../fonts/ford-light-extended-58894b03a08a1.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'PT Mono';
    src: url('../fonts/PTMono-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

*{
    box-sizing: border-box;
}


body {
    position: relative;
    width:100%;
    height:100%;
    font-family: Helvetica, Helvetica, Arial, sans-serif;
    color: #000;
    background-color: #fff;
}

.header-wrapper{
    position: absolute;
    top:0px;
    left:0px;
    width:100%;
    height:100%;
    pointer-events:none;
}

/* Header styles */
header {
    position: sticky;
    top: 0;
    left: 0;
    width: 100%;
    padding: 2vw;
}

header #logo{
    position: absolute;
    top: 3vw;
    left: 3vw;
    width: 20vw;
    cursor:pointer;
    pointer-events:all;
}

/* Main content */
main {
    position: relative;
    contain: paint;
}

main section#home{
    position: relative;
    
}

main section#home .images{
    display: block;
    position: relative;
    will-change: transform;
    transform: translateY(var(--parallax-offset, 0px));
}

main section#home .images img{
    display: inline-block;
    vertical-align: top;
    width: 100vw;
    height:100vh;
    object-fit: cover;
}

main section#information{
    position: absolute;
    top:0px;
    right:0px;
    width:50vw;
    min-height: calc(100% + 130vh);
    pointer-events:none;
}

main section#information .bg{
    position: sticky;
    top:0vw;
    width:100%;
    height:100vh;
    margin-top:200vh;
    background:#ECFEA3;
    will-change: margin-top;
}

main section#information .content-wrapper{
    position: absolute;
    top:0px;
    left:0px;
    width:100%;
    height:100%;
    margin-top:calc(100vh - 6vw - 3vw);
}

main section#information .content{
    position: sticky;
    top:0vw;
    padding:3vw 8.5vw 3vw 3vw;
    text-align: justify;
}

main section#information .content .title{
    white-space: nowrap;
}

main section#information .content .text{
    margin-top:2.5vw;
}

main section#information .content .text small{
    display: block;
    margin-top: 0.8vw;
}

main{
    
}





/*
main section#information .logo-wrapper{
    position: absolute;
    top:0px;
    right:1vw;
    width:3vw;
    height:50vh;
}*/

.logo{
    position: fixed;
    top:calc(100vh - 5.5vw);
    right:3vw;
    width:2.5vw;
    height:2.5vw;
    will-change: transform;
    cursor:pointer;
}

.logo img{
    width: 100%;
    height:auto;
}





/* Footer */
footer {
    position: absolute;
    top:11.5vw;
    left:3vw;
    width:20vw;
    height:100%;
    transform: translateY(calc(100vh - 11.5vw - 2vw));
    contain: paint;
    pointer-events:none;
}

footer .contact{
    position: sticky;
    top:0px;
    left:0vw;
    width: 100%;
    height:11.5vw;
    pointer-events:all;
}

footer .contact p {
    color: #666;
    font-size: 0.9rem;
}

footer .contact .btn-impressum{
    display: inline-block;
    vertical-align: top;
    margin-top:1vw;
}






#impressum{
    position: fixed;
    top:100vh;
    left:0px;
    width:100vw;
    height:100vh;
    background:#fff;
    z-index: 1000;
    overflow-x:hidden;
    overflow-y:auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    
    transition:top 400ms ease-in-out;
}

#impressum.open{
    top:0px;
}

#impressum .content{
    position: relative;
    display: block;
    height:auto;
    padding:3vw 3vw 3vw 3vw;
}

#impressum .content{
    font-size:0px;
}

#impressum .part.second{
    
}

#impressum .part.second{
    display: block;
    margin-top:5vw;
}

#impressum .title{
    display: inline-block;
    vertical-align: top;
    width:50%;
}

#impressum .text{
    display: inline-block;
    vertical-align: top;    
    width:50%;
    padding-left:3vw;
    padding-right:3vw;
}

#impressum .close-wrapper{
    position: absolute;
    top:0px;
    right:0px;
    bottom:0px;
    width:6vw;

}

#impressum .close{
    position: sticky;
    top:3vw;
    right:3vw;
    width:3vw;
    height:3vw;
    cursor:pointer;

    transform:scale(1);
}



#impressum .close:before,
#impressum .close:after{
    content: '';
    position: absolute;
    top:0px;
    right:0px;
    bottom:0px;
    left:0px;

    width:100%;
    height:0.2vw;

    margin:auto;
    background:#000;
}

#impressum .close:before{
    transform: rotate(45deg);
}

#impressum .close:after{
    transform: rotate(-45deg);
}

/*
#impressum .close:before,
#impressum .close:after{
    transition:height 400ms ease-in-out;
}*/

#impressum .close:hover:before,
#impressum .close:hover:after{
    height:0.35vw;
}





img.blurry{
    filter: blur(5px);
}
  
@keyframes blurOut {
    0% {
      filter: blur(5px);
    }
  
    100% {
      filter: blur(0px);
    }
}
  
img.blurry.loaded{
    animation: blurOut 400ms forwards;
}




a, a:visited{
    color: #333;
    text-decoration: none;
}


.white{
    color: #fff;
}

.white a, .white a:visited{
    color: #fff;
}

.uppercase{
    text-transform: uppercase;
}

.h1{
    font-family: 'Ford Light Extended';
    font-size: 3.5vw;
}

.p1,
.p2,
.p3{
    font-family: Helvetica, Helvetica, Arial, sans-serif;
}

.p1{
    font-size: 1.44vw;
    font-weight: 500;
    line-height: 1.5;
}

.p2{
    font-size: 1.44vw;
    font-weight: 500;
    line-height: 1.3;
}

.p3{
    font-size: 1.3vw;
    line-height: 1.4;
}

.number{
    font-family: 'PT Mono';
    font-weight:500;
    line-height: 1.3;
}

small{
    font-size: 1.1vw;
}

strong{
    font-weight: 600;
}


@media (min-width: 768px) {

    footer .contact .btn-impressum:hover{
        display: inline-block;
        vertical-align: top;
        border-bottom: 2px solid #fff;
        cursor:pointer;
        
    }

}



/* Responsive breakpoint at 768px */
@media (max-width: 768px) {

    header{
        padding:20px;
    }

    header #logo{
        top:20px;
        left:20px;
        width:120px;
    }

    main{
        
    }

    main section#home .images img{

    }

    main section#home .images img:nth-child(2){
        display: none;
    }

    /*
    main section#home .images:after{
        content: '';
        position: absolute;
        bottom:0px;
        left:0px;
        width:100%;
        height:1000px;
        background:#ECFEA3;
    }*/

    main section#information{
        width:100vw;
    }

    main section#information .bg{
        height:100svh;
        display: none;
    }

    main section#information .bg:after{
        content: '';
        position: absolute;
        top:0px;
        left:0px;
        width:100%;
        height:500px;
        background:#ECFEA3;
    }
    

    main section#information .content{
        position: relative;
        width:auto;
        padding: 15px 50px 15px 15px;
    }

    main section#information .content .text{
        margin-top:30px;
    }

    main section#information .content-wrapper{
        margin-top: calc(100svh - 30px - 30px);
        background:#ECFEA3;
    }
    /*
    main section#information .content-wrapper:before{
        content: '';
        position: absolute;
        top:0px;
        left:0px;
        width:100%;
        height:100%;
        background:#ECFEA3;
    }*/



    .logo-wrapper{
        position: absolute;
        top:0px;
        right:0px;
        width:37px;
        height:100%;
        pointer-events:none;
    }


    .logo{
        position: sticky;
        top: 20px;
        right:0px;
        width:20px;
        height:20px;
        bottom:auto;
        margin-top: calc(100svh - 40px);
    }

    


    

    footer{
        position: relative;
        top:0px;
        left:0px;
        width:200px;
        height:auto;
        transform: translateY(0px);
        margin-top:25px;
    }

    footer .contact{
        height:auto;
    }

    footer .white{
        color:#000;
    }

    footer .white a, footer .white a:visited{
        color:#000;
    }


    footer .contact .btn-impressum{
        margin-top:20px;
        color:#000;
    }



    #impressum{
        height:100svh;
    }

    #impressum .content{

        padding:15px;
    }

    #impressum .part{
        padding-left:0px;
    }

    #impressum .title,
    #impressum .text{
        display: block;
        width:auto;
    }

    #impressum .text{
        margin-top:30px;
        padding-left:0px;
        padding-right:30px;
    }

    #impressum .part.second{
        margin-top:100px;
    }

    #impressum .close-wrapper{
        width:45px;
    }

    #impressum .close{
        top:15px;
        right:15px;
        width:30px;
        height:30px;
    }

    #impressum .close:before,
    #impressum .close:after{
        height:2px;
    }
    

    .h1{
        font-size:28px;
    }

    .p1{
        font-size:17px;
    }

    .p2{
        font-size:18px;
    }

    .p3{
        font-size:17px;
    }

    small{
        font-size:14px;
    }
    
}




@media (max-width: 320px) {


    .h1{
        font-size:23px
    }

    .logo{
        right:15px;
        bottom:22px;
    }
}