@font-face {
  font-family: 'almdudler';
  src: url('../fonts/Almdudler-Bold.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}
html {
    overflow: hidden;
    height: 100%;
    min-height: 100%;
    max-width: 100%;
}
body {
    height: 100%;
    min-height: 100%;
    background-color: #fff;
    color: #3f3f3f;
    font-family: 'almdudler', sans-serif;
    font-size: 16px;
    line-height: 20px;
    max-width: 100%;
    overflow:hidden;
    background: #134482 url(../img/background.jpg) center top no-repeat;
    background-size: cover;
}
.clear {
    margin: 0px;
    padding: 0px;
    height: 0px;
    font-size: 0px;
    line-height: 0px;
    clear: both;
    overflow: hidden;
}
*, *:before, *:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
*:focus {
    outline: none;
}

/* screen_1 */

#screen_1 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

/* stars */

#stars {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: transparent url(../img/stars/stars.png) center top repeat;
    background-size: auto 50%;
}
@media only screen and (max-width : 1230px) {
    #stars {
        background-size: auto 30%;
    }
}
@media only screen and (max-width : 500px) {
    #stars {
        background-size: auto 20%;
    }
}

/* headline */

#headline {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 25%;
    overflow: hidden;
    background: transparent url(../img/headline/lines.png) center center no-repeat;
    background-size: auto 60%;
    opacity: 0;
}
@media only screen and (max-width : 1125px) {
    #headline {
        background-size: auto 40%;
    }
}
@media only screen and (max-width : 630px) {
    #headline {
        height: 35%;
        background-size: auto 30%;
    }
}
@media only screen and (max-width : 530px) {
    #headline {
        height: 50%;
        background-size: auto 25%;
    }
}
@media only screen and (max-width : 430px) {
    #headline {
        height: 50%;
        background-size: auto 20%;
    }
}

@media only screen and (max-height : 745px) {
    #headline {
        height: 38%;
        background-size: auto 20%;
    }
}
.move_hl_1 {
    animation: move_hl_1 0.4s  forwards;
}
@keyframes move_hl_1 {
    0%{ opacity: 0; transform: scale(0.3) translate3d(0,0,0); }
    50%{ opacity: 0.9; transform: scale(1.25); }
    70%{ opacity: 1; transform: scale(0.9); }
    100%{ opacity: 1; transform: scale(1) translate3d(0,0,0); }
}
.move_hl_2 {
    animation: move_hl_2 0.4s  forwards;
}
@keyframes move_hl_2 {
    0%{ opacity: 0; transform: scale(0.3) translate3d(0,0,0); }
    50%{ opacity: 0.9; transform: scale(1.05); }
    70%{ opacity: 1; transform: scale(0.9); }
    100%{ opacity: 1; transform: scale(1) translate3d(0,0,0); }
}

/* mountains */

#mountains {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 50%;
    overflow: hidden;
}
#mountain_1 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 25%;
    overflow: hidden;
    background: transparent url(../img/mountains/mountain_1.png) center center repeat-x;
    background-size: auto 100%;
}
#mountain_2 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 50%;
    overflow: hidden;
    background: transparent url(../img/mountains/mountain_2.png) center center repeat-x;
    background-size: auto 100%;
}
#mountain_3 {
    position: absolute;
    top: 11%;
    left: 0;
    width: 100%;
    height: 50%;
    overflow: hidden;
    background: transparent url(../img/mountains/mountain_3.png) center center repeat-x;
    background-size: auto 100%;
}
#mountain_4 {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 60%;
    overflow: hidden;
    background-color: #172c4a;
}
#mountain_cloud_1 {
    position: absolute;
    top: 0;
    left: 0;
    width: 50%;
    height: 100%;
    overflow: hidden;
    background: transparent url(../img/mountains/cloud_1.png) center center no-repeat;
    background-size: auto 50%;
}
#mountain_cloud_2 {
    position: absolute;
    top: 0;
    right: 0;
    width: 50%;
    height: 100%;
    overflow: hidden;
    background: transparent url(../img/mountains/cloud_2.png) center center no-repeat;
    background-size: auto 50%;
}

/* curtain */

#curtain_left {
    position: absolute;
    left: 0;
    top: 0;
    width: 430px;
    height: 100%;
    background: transparent url(../img/curtain/left.png) 0 0 no-repeat;
    background-size: 100% auto;
}
#curtain_right {
    position: absolute;
    right: 0;
    top: 0;
    width: 430px;
    height: 100%;
    background: transparent url(../img/curtain/right.png) 0 0 no-repeat;
    background-size: 100% auto;;
}

@media only screen and (max-width : 1050px) {
    #curtain_left {
        left: -100px;
    }
    #curtain_right {
        right: -100px;
    }
}
@media only screen and (max-width : 880px) {
    #curtain_left {
        left: 0;
        width: 250px;
        height: 100%;
        background: transparent url(../img/curtain/left_mobile.png) 0 0 no-repeat;
        background-size: 100% auto;
    }
    #curtain_right {
        right: 0;
        width: 250px;
        height: 100%;
        background: transparent url(../img/curtain/right_mobile.png) 0 0 no-repeat;
        background-size: 100% auto;
    }
}
@media only screen and (max-width : 510px) {
    #curtain_left {
        left: 0;
        width: 100%;
        height: 100%;
        background: transparent url(../img/curtain/mobile.png) 0 0 no-repeat;
        background-size: 100% auto;
    }
    #curtain_right {
        display: none;
    }
}




/* table */

#table {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 75%;
    overflow: hidden;
    background: transparent url(../img/table/table.png) center bottom no-repeat;
    background-size: auto 100%;
}
#glow {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 75%;
    overflow: hidden;
    background: transparent url(../img/table/glow.png) center bottom no-repeat;
    background-size: auto 100%;
}
#people {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 75%;
    overflow: hidden;
    background: transparent url(../img/table/people.png) center bottom no-repeat;
    background-size: auto 100%;
}
#cta {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 75%;
    overflow: hidden;
    background: transparent url(../img/table/cta.png) center bottom no-repeat;
    background-size: auto 100%;
}


@media only screen and (max-width : 550px) and (max-aspect-ratio: 550/800){
    #table {
        width: 100%;
        height: 100%;
        overflow: hidden;
        background: transparent url(../img/table/table.png) center bottom no-repeat;
        background-size: 100% auto;
    }
    #glow {
        width: 100%;
        height: 100%;
        overflow: hidden;
        background: transparent url(../img/table/glow.png) center bottom no-repeat;
        background-size: 100% auto;
    }
    #people {
        width: 100%;
        height: 100%;
        overflow: hidden;
        background: transparent url(../img/table/people.png) center bottom no-repeat;
        background-size: 100% auto;
    }
    #cta {
        width: 100%;
        height: 100%;
        overflow: hidden;
        background: transparent url(../img/table/cta.png) center bottom no-repeat;
        background-size: 100% auto;
    }
}
@media only screen and (max-width : 440px) {
    #table, #glow, #people, #cta {
        //bottom: 50px;
    }
}
@media only screen and (max-width : 350px) {
    #table, #glow, #people, #cta {
        //bottom: 80px;
    }
}

#cta_area {
    display: block;
    width: 100px;
    height: 100%;
    overflow: hidden;
    z-index: 100;
    position: absolute;
}

.glow {
    animation-name: glow;
    animation-duration: 3s;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
}
@keyframes glow {
    0%{
        opacity: 0;
    }
    50%{
        opacity: 1;
    }
    100%{
        opacity: 0;
    }
}

/* clouds */

#clouds {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 30%;
    overflow: hidden;
}
#cloud_1 {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: transparent url(../img/clouds/cloud_1.png) left bottom no-repeat;
    background-size: auto 100%;
}
#cloud_2 {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 50%;
    overflow: hidden;
    background: transparent url(../img/clouds/cloud_2.png) center bottom no-repeat;
    background-size: auto 100%;
}
#cloud_3 {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 60%;
    overflow: hidden;
    background: transparent url(../img/clouds/cloud_3.png) right bottom no-repeat;
    background-size: auto 100%;
}
@media only screen and (min-width : 1145px) {
    #cloud_3 {
        height: 100%;
    }
}
@media only screen and (max-width : 920px) {
    #cloud_1 {
        height: 70%;
    }
}
@media only screen and (max-width : 920px) {
    #cloud_1 {
        left: -50px;
    }
}
.move_cloud_1 {
    animation: move_cloud_1 7s infinite;
}
@keyframes move_cloud_1 {
    0% { transform: translateX(0);; }
    50% { transform: translatex(-40px); }
}
.move_cloud_2 {
    animation: move_cloud_2 9s infinite;
}
@keyframes move_cloud_2 {
    0% { transform: translateX(0);; }
    50% { transform: translatex(30px); }
}
.move_cloud_3 {
    animation: move_cloud_3 5s infinite;
}
@keyframes move_cloud_3 {
    0% { transform: translateX(0);; }
    50% { transform: translatex(30px); }
}
.move_cloud_4 {
    animation: move_cloud_4 5s infinite;
}
@keyframes move_cloud_4 {
    0% { transform: translateX(0);; }
    50% { transform: translatex(-30px); }
}
.move_cloud_5 {
    animation: move_cloud_5 6s infinite;
}
@keyframes move_cloud_5 {
    0% { transform: translateX(0);; }
    50% { transform: translatex(20px); }
}

/* screen 2 */

.blur {
    animation-name: blur;
    animation-duration: 1000ms;
    animation-fill-mode: forwards;
}
@keyframes blur {
  0%{
    filter: blur(0px);
  }
  100%{
    filter: blur(4px);
  }
}
.fokus {
    animation-name: fokus;
    animation-duration: 1000ms;
    animation-fill-mode: forwards;
}
@keyframes fokus {
  0%{
    filter: blur(4px);
  }
  100%{
    filter: blur(0px);
  }
}

#screen_2 {
    display: none;
    opacity: 1;
}

/* table */

#overlay_table {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 75%;
    overflow: hidden;
    background: transparent url(../img/overlay/table.png) center bottom no-repeat;
    background-size: auto 100%;
}
@media only screen and (max-width : 500px) {
    #overlay_table  {
        width: 100%;
        height: 100%;
        overflow: hidden;
        background: transparent url(../img/overlay/table.png) center bottom no-repeat;
        background-size: 175% auto;
    }
}
#overlay_cloud_1 {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 30%;
    overflow: hidden;
    background: transparent url(../img/overlay/cloud_1.png) left bottom no-repeat;
    background-size: auto 100%;
}
#overlay_cloud_2 {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 40%;
    overflow: hidden;
    background: transparent url(../img/overlay/cloud_2.png) right bottom no-repeat;
    background-size: auto 100%;
}
@media only screen and (max-width : 1100px) {
    #overlay_cloud_1 {
        height: 20%;
    }
    #overlay_cloud_2 {
        height: 25%;
    }
}
@media only screen and (max-width : 500px) {
    #overlay_cloud_1 {
        height: 15%;
    }
    #overlay_cloud_2 {
        height: 20%;
    }
}
@media only screen and (max-width : 240px) {
    #overlay_cloud_1 {
        height: 10%;
    }
    #overlay_cloud_2 {
        display: none;
    }
}
#close {
    position: absolute;
    display: block;
    top: 20px;
    right: 20px;
    width: 49px;
    height: 48px;
    overflow: hidden;
    background: transparent url(../img/overlay/close.png) center center no-repeat;
    background-size: 49px 48px;
}
#message {
    display: block;
    width: 100px;
    height: 100%;
    overflow: hidden;
    position: absolute;
    color: #e33b00;
    text-align: center;
    opacity: 0;
}
#message_zoom {
    display: block;
    width: 300px;
    height: 300px;
    overflow: hidden;
    position: absolute;
    display: flex;
    align-items: center;
    text-align: center;
    font-size: 35px;
    line-height: 35px;
}