﻿/*@import url('https://fonts.googleapis.com/css?family=Exo:400,700');*/

.fade-up {
    /* margin-top: 25px;
    font-size: 21px;
    text-align: center;*/
    animation: fadein 2s;
    -moz-animation: fadein 2s; /* Firefox */
    -webkit-animation: fadein 2s; /* Safari and Chrome */
    -o-animation: fadein 2s; /* Opera */
}

@keyframes fadein {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@-moz-keyframes fadein { /* Firefox */
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@-webkit-keyframes fadein { /* Safari and Chrome */
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}



* {
    margin: 0px;
    padding: 0px;
}

body {
    /*font-family: 'Exo', sans-serif;*/
}


.context {
    width: 100%;
    position: absolute;
    top: 50vh;
}

    .context h1 {
        text-align: center;
        color: #fff;
        font-size: 50px;
    }


.area {
    background: #4b524c;
    background: -webkit-linear-gradient(to left, #8f94fb, #4e54c8);
    width: 100%;
    height: 100vh;
}

.circles {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

    .circles li {
        position: absolute;
        display: block;
        list-style: none;
        width: 20px;
        height: 20px;
        background: rgba(255, 255, 255, 0.2);
        animation: animate 30s linear infinite;
        bottom: -150px;
    }

        .circles li:nth-child(1) {
            left: 25%;
            width: 80px;
            height: 80px;
            animation-delay: 0s;
        }


        .circles li:nth-child(2) {
            left: 10%;
            width: 20px;
            height: 20px;
            animation-delay: 2s;
            animation-duration: 12s;
        }

        .circles li:nth-child(3) {
            left: 70%;
            width: 20px;
            height: 20px;
            animation-delay: 4s;
        }

        .circles li:nth-child(4) {
            left: 40%;
            width: 60px;
            height: 60px;
            animation-delay: 0s;
            animation-duration: 18s;
        }

        .circles li:nth-child(5) {
            left: 65%;
            width: 20px;
            height: 20px;
            animation-delay: 0s;
        }

        .circles li:nth-child(6) {
            left: 75%;
            width: 110px;
            height: 110px;
            animation-delay: 3s;
        }

        .circles li:nth-child(7) {
            left: 35%;
            width: 150px;
            height: 150px;
            animation-delay: 7s;
        }

        .circles li:nth-child(8) {
            left: 50%;
            width: 25px;
            height: 25px;
            animation-delay: 15s;
            animation-duration: 45s;
        }

        .circles li:nth-child(9) {
            left: 20%;
            width: 15px;
            height: 15px;
            animation-delay: 2s;
            animation-duration: 35s;
        }

        .circles li:nth-child(10) {
            left: 85%;
            width: 150px;
            height: 150px;
            animation-delay: 0s;
            animation-duration: 11s;
        }



@keyframes animate {

    0% {
        transform: translateY(0) rotate(0deg);
        opacity: 1;
        border-radius: 0;
    }

    100% {
        transform: translateY(-1000px) rotate(720deg);
        opacity: 0;
        border-radius: 50%;
    }
}


:root {
    --gird-width: 30px;
    --gird-height: 30px;
    --line-color: #999;
    --dot-color: #ccc;
    --dot-size: 2px;
    --point-gap-width: calc(var(--gird-width) * 4);
    --point-gap-height: calc(var(--gird-height) * 4);
}

.card-body {
    z-index: 1000 !important;
}

html, body {
    padding: 0;
    margin: 0;
    width: 100%;
    height: 100%;
}

.grid-bg {
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.ba-grid {
    position: relative;
    z-index: 1;
    background-image:
    /*     radial-gradient(ellipse at center, #2883b6 0%, #084688 100%), */
    radial-gradient(ellipse at bottom left, rgba(104,128,138,0.4) 10%, rgba(138,114,76,0) 40%), linear-gradient(to bottom, rgba(57,173,219,.25), rgba(42,60,87,0.4)), linear-gradient(135deg, #670d10, #092756);
}


    .ba-grid:before,
    .ba-grid:after,
    .inner:before,
    .inner:after {
        content: '';
        position: absolute;
        z-index: 1;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        mix-blend-mode: overlay;
    }

    .ba-grid:before {
        background-image: linear-gradient(var(--line-color), transparent 1px), linear-gradient(to right, var(--line-color), transparent 1px);
        background-size: 100% var(--gird-height), var(--gird-width) 100%;
    }

    .ba-grid:after {
        background-image: radial-gradient(var(--dot-color) 1px, transparent 1px);
        background-size: var(--point-gap-width) var(--point-gap-height);
        background-position: calc(var(--point-gap-width) / 2) calc(var(--point-gap-height) / 2);
    }



.inner:before,
.inner:after {
    background-image: radial-gradient(var(--dot-color) var(--dot-size), transparent var(--dot-size));
    background-size: var(--point-gap-width) var(--point-gap-height);
    background-position: calc(var(--point-gap-width) / 2) calc(var(--point-gap-height) / 2);
}

.inner:after {
    transform: scale(1.1, 1.1);
}

.inner:before {
    /*   background-image: radial-gradient(var(--dot-color) calc(var(--dot-size) + 1px), transparent calc(var(--dot-size) + 1px)); */
    transform: scale(1.2, 1.2);
}

.anim:after {
    animation: 6.4s linear move infinite;
}

.anim .inner:after {
    animation: 3.2s linear move infinite;
}

.anim .inner:before {
    animation: 1.6s linear move infinite;
}

@keyframes move {
    0% {
        background-position: calc(var(--point-gap-width) / 2) calc(var(--point-gap-height) / 2);
    }

    100% {
        background-position: calc(var(--point-gap-width) / 2) calc(var(--point-gap-height) / 2 * -1);
    }
}
