html,
body{

    height:100%;
    margin:0;

}


body{

    min-height:100vh;

    display:flex;
    flex-direction:column;

    position:relative;

    background:#040608;
    color:#ddd;

    font-family:Segoe UI,Helvetica,Arial,sans-serif;

}


.container{

    flex:1;

    display:flex;

    justify-content:center;
    align-items:center;

    text-align:center;

    position:relative;

    z-index:2;

    padding-left:20px;
    padding-right:20px;

}


.hero h1{

    font-size:5.8rem;

    letter-spacing:1rem;

    font-weight:100;

    color:white;

    margin-bottom:45px;

    text-shadow:0 0 20px rgba(255,255,255,.08);

}


.subtitle{

    max-width:560px;

    margin:0 auto;

    font-size:1.05rem;

    line-height:2;

    color:#8f99a3;

}


.statement{

    font-size:.95rem;

    line-height:1.9;

    letter-spacing:.05rem;

    color:#73818d;

}


hr{

    width:100px;

    margin:45px auto;

    border-color:#244458;

    opacity:.35;

}


footer{

    width:100%;

    text-align:center;

    padding:20px 0 25px;

    font-size:.72rem;

    color:#6f7880;

    z-index:2;

}


.footer-divider{

    width:100px;

    border-top:1px solid rgba(70,95,115,.25);

    margin:0 auto 22px;

}


.footer-small{

    font-size:.68rem;

    letter-spacing:.05rem;

    color:#5f6972;

}


footer .btn-link{

    font-size:.72rem;

    color:#7d8b96;

    text-decoration:none;

    transition:color .25s ease;

}


footer .btn-link:hover{

    color:#d5dce3;

}


#legalCollapse{

    font-size:.78rem;

    line-height:1.8;

    color:#95a1ab;

}


#legalCollapse h5{

    font-size:.9rem;

    font-weight:400;

    letter-spacing:.08rem;

    margin-bottom:1rem;

    color:#eef2f5;

}


.stars{

    position:absolute;

    top:0;

    left:0;

    width:100%;

    height:100%;

    background-image:
    radial-gradient(white 1px, transparent 1px);

    background-size:160px 160px;

    opacity:.10;

    animation:drift 120s linear infinite;

}


body::before{

    content:"";

    position:absolute;

    width:1000px;

    height:1000px;

    top:50%;

    left:50%;

    transform:translate(-50%,-50%);

    background:radial-gradient(circle,
    rgba(35,90,140,.32),
    transparent 70%);

    z-index:1;

    pointer-events:none;

    animation:pulse 12s ease-in-out infinite;

}


@keyframes pulse{

    0%,100%{

        opacity:.7;

    }

    50%{

        opacity:1;

    }

}


@keyframes drift{

    from{

        transform:translateY(0);

    }

    to{

        transform:translateY(-160px);

    }

}


/* Mobile adjustments */

@media (max-width:768px){


    body::before{

        width:650px;

        height:650px;

    }


    .hero h1{

        font-size:3.5rem;

        letter-spacing:.6rem;

    }


    .subtitle{

        font-size:1rem;

        line-height:1.8;

    }


    .statement{

        font-size:.85rem;

    }


}