* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body{
    font-family: Montserrat, Arial, sans-serif;
    src: url(../fonts/Montserrat-VariableFont_wght.ttf)
}

a:link {
      text-decoration: none;
}

a:visited {
      text-decoration: none;
}

a:hover {
      text-decoration: none;
}

a:active {
      text-decoration: none;
}

#header{
    width:100%;
    margin-top:0px;
    background-color:#222;
    padding-bottom: 1px;
    padding-top:1px;
}

#header .mainbar{
    position: inherit;
    display: flex;
    justify-content: space-between;
    min-width: 290px;
    max-width: 1450px;
    /*height:80px;*/
    margin-left: auto;
    margin-right: auto;
}

#header #nav{
    display: flex;
    justify-content: flex-start;
}

#header .options{
    display: flex;
    justify-content: flex-start;
    min-width: 270px;
}

#header .logo{
    width:230px;
    height: 70px;
    padding-top:10px;
    font-size:40px;
    text-align: center;
    padding-left: 1px;
    color:white;
    font-style: italic;
    float:left;
}

#header .section{
    width:150px;
    margin-left:10px;
    padding-top:26px;
    height: 54px;
    font-size:18px;
    color:white;
    text-align: center;
    float:left;
    margin-bottom:27px;
}

#header .login_button{
    justify-self: flex-end;
    width:180px;
    height:40px;
    font-size:20px;
    background-color:rgb(140, 190, 23);
    color:#222;
    border-radius: 20px;
    margin-top:16px;
    font-weight:normal;
    margin-left: -100px;
    margin-right: 10px;
    transition:0.3s;
}

#header .login_button:hover{
    transition:0.3s;
    font-weight: bold;
}

#header .login_button p{
    text-align:center;
    transform: translate(0, 8px);
}

#firstbox{
    background-image: url("../images/_DSC0998.png");
    display: flex;
    justify-content: center;
    align-items: center;
    width:100%;
    min-height:700px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

.stage{
    display: flex;
    position: relative;
    
    min-width: 290px;
    max-width: 1400px;
    width: 1400px;
    box-sizing: border-box;
}

#firstbox .maintext{
    font-size:33px;
    min-width: 290px;
    width:570px;
    line-height: 50px;
    text-align: justify;
    color:#222;
    /*background-color: rgba(230, 230, 230, 0.2);*/
    padding: 20px;
    border-radius: 20px;
}

#firstbox .maintext .h1{
    font-size:80px;
    line-height: 100px;
    font-style: normal;
    text-align: left;
}

#firstbox .maintext .h2{
    margin-top:-10px;
    font-size:70px;
    line-height: 90px;
    font-style: normal;
    text-align: left;
}

#secondbox{
    display: flex;
    justify-content: center;
    width:100%;
    background-color:#a4adbe;
}

#secondbox .maintext{
    position: inherit;
    font-size:22px;
    width:100%;
    line-height: 48px;
    text-align: left;
    color:#222;
    padding: 20px;
    border-radius: 20px;
}

#secondbox .maintext .h1{
    font-size:50px;
    line-height: 100px;
    font-style: normal;
    text-align: left;
}

#secondbox .cta{
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top:20px;
    font-weight: bold;
}

#secondbox .cta .button{
    display: flex;
    justify-content: center;
    align-items: center;
    padding-left:20px;
    padding-right:20px;
    border-radius: 20px;
    border-color: #d1e1d4;
    border-style: solid;
    border-width: 2px;
    height:40px;
    text-wrap: nowrap;
    font-weight: bold;
    margin-left: 20px;
    background-color: rgb(140, 190, 23);
    transition:0.3s;
}

#secondbox .cta .button:hover{
    font-size:23px;
    background-color: rgb(180, 230, 63);
    transition:0.3s;
}

#infobox{
    display: flex;
    justify-content: center;
    align-items: center;
    width:100%;
    min-height:500px;
}

#infobox .stage{
    display: flex;
    justify-content:space-between;
    position: relative;
    min-width: 450px;
    max-width: 1400px;
    width: 1400px;
    box-sizing: unset;
    flex-wrap: wrap;
}

#infobox .righttext{
    padding-top:20px;
    font-size:22px;
    min-width: 450px;
    width:550px;
    line-height: 44px;
    text-align: right;
    color:#d1e1d4;
    padding: 20px;
    border-radius: 20px;
}

#infobox .lefttext{
    padding-top:20px;
    font-size:22px;
    width:550px;
    min-width: 450px;
    width:550px;
    line-height: 44px;
    text-align: left;
    color:#d1e1d4;
    padding: 20px;
    border-radius: 20px;
}

#infobox .h1{
    font-size:50px;
    line-height: 80px;
    font-style: normal;
    margin-bottom: 20px;
}

#flightpath-animation{
    /*background-color:#a4adbe;*/
    padding:20px;
}

#flightpath-animation #Line-4{
    stroke-dashoffset: 1000;
    stroke-dasharray: 1000;
    animation: dash 5s ease-in-out;
    animation-delay:1s;
    animation-fill-mode: forwards;
}

@keyframes dash {  
    to{
        stroke-dashoffset: 0;
    }  
}

#footer{
    width:100%;
    margin-top:0px;
    background-color:#222;
    padding-bottom: 1px;
    padding-top:1px;
}

#footer .mainbar{
    position: inherit;
    display: flex;
    justify-content: space-between;
    min-width: 290px;
    max-width: 1400px;
    /*height:80px;*/
    margin-left: auto;
    margin-right: auto;
    color: white;
    padding:20px;
}

@media only screen and (max-width: 640px){
    #firstbox{
        background-image: url("../images/_DSC0998.png");
        display: flex;
        justify-content: center;
        align-items: center;
        width:100%;
        min-height:650px;
        background-size: cover;
        background-repeat: no-repeat;
        background-position: -710px 0;
    }

    #firstbox .maintext{
        font-size:33px;
        min-width: 290px;
        width:570px;
        line-height: 50px;
        text-align: justify;
        color:#222;
        /*background-color: rgba(230, 230, 230, 0.2);*/
        padding: 20px;
        border-radius: 20px;
    }

    #firstbox .maintext .h1{
        font-size:70px;
        line-height: 100px;
        font-style: normal;
        text-align: left;
    }

    #firstbox .maintext .h2{
        font-size:55px;
        line-height: 100px;
        font-style: normal;
        text-align: left;
        margin-bottom:150px;
    }

    #infobox .stage{
        display: flex;
        justify-content:center;
        position: relative;
        min-width: 450px;
        max-width: 1400px;
        width: 1400px;
        box-sizing: unset;
        flex-wrap: wrap;
    }
}

@media only screen and (min-width: 640px) and (max-width:1110px){
    #firstbox{
        background-image: url("../images/_DSC0998.png");
        display: flex;
        justify-content: center;
        align-items: center;
        width:100%;
        min-height:700px;
        background-size: cover;
        background-repeat: no-repeat;
        background-position: -250px 0;
    }
}