.page-container {
    position: relative;
    min-height: 100vh;
}

.wrapper {
    padding-bottom: 2.5rem;
}

.main {
    width: 23% !important;
}

#icon {
    width: 45%;
    height: 45%;
}

#disclaimer {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 4rem;
    font-style: italic;
    opacity: 50%;
}

.messages {
    margin: 1em auto auto auto;
    width: 50%;
}

.cards {
    display: flex;
}

.cards .card {
    margin: 1em;
    height: 50vh;
    width: 50vw;
    overflow: auto;
}

.card-body small {
    margin: 0 1em 0 0;
    opacity: 70%;
}

.loading-animation {
    margin-top: 50px;
    text-align: center;
}

.loader {
    margin: auto;
    border: 16px solid #f3f3f3;
    border-top: 16px solid #6C62FF;
    border-radius: 50%;
    width: 120px;
    height: 120px;
    animation: spin 2s cubic-bezier(.77, -0.2, .18, 1) infinite;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

@media only screen and (min-width: 320px) and (max-width: 479px) {
    .main {
        width: 50% !important;
    }

    #icon {
        width: 80%;
        height: 80%;
    }

    .cards {
        display: flex;
        flex-direction: column;
    }

    .cards .card {
        margin: 1em;
        height: 40vh;
        width: 90vw;
        overflow: auto;
    }

    .messages {
        margin: 1em auto 8em auto;
        width: 50%;
    }
}

@media only screen and (min-width: 480px) and (max-width: 767px) {
    .main {
        width: 38% !important;
    }

    #icon {
        width: 60%;
        height: 60%;
    }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
    .main {
        width: 30% !important;
    }

    #icon {
        width: 50%;
        height: 50%;
    }

}