.modal-container {
    position: absolute;
    z-index: 1000000000000000000;
    top: 0;
    left: 0;

    display: none;

    width: 100%;
    height: 100%;
}

.modal-container.open {
    display: block;
}

.modal-background {
    position: fixed;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    background: #fff;
    background: rgba(255, 255, 255, .8);
}

.modal-box {
    position: relative;

    width: 90%;
    margin: 2% auto;
    padding: 0;

    animation-name: modalFadeInDown;
    animation-duration: .3s;

    border-radius: .3em;
    background: #fff;
    box-shadow: 0 .2em .5em 0 rgba(0, 0, 0, .25),
                0 0 0 1px rgba(45, 55, 65, .2);

    animation-fill-mode: both;
}

.modal-close-box {
    margin-bottom: 0em;

    text-align: right;
}

.modal-body {
    padding: 0 1.5em;
}

.modal-body:first-child {
    padding-top: 2em;
}

.modal-body:last-child {
    padding-bottom: 2em;
}

.modal-footer {
    padding: 1em 2em;

    text-align: center;
}

.modal-footer .btn {
    width: 100%;
}

.modal-footer .btn {
    margin: 1em 0 0 0;
}

.modal-footer .btn:first-child {
    margin: 0;
}



/* animated */
@-webkit-keyframes modalFadeInDown {
    from {
        transform: translate3d(0, -10%, 0);

        opacity: 0;
    }

    to {
        transform: none;

        opacity: 1;
    }
}

/* Small Devices, Tablets */
@media (min-width: 480px) {
    .modal-box {
        width: 60%;
    }
}


/* Small Devices, Tablets */
@media (min-width: 720px) {
    .modal-box {
        width: 60%;
    }

    .modal-body {
        padding: 0 2em;
    }

    .modal-close-box {
        margin-bottom: 1em;
    }

    .modal-footer .btn {
        width: auto;
        margin: .5em;
    }
}



/* Large Devices, Wide Screens */
@media (min-width: 1020px) {
    .modal-box {
        width: 50%;
    }
}
