html, body {
    height: 100%;
    margin: 0;
}

body {
    display: flex;
    flex-direction: column;
    background-color: black;
}

main {
    padding-top: 50px;
    flex-grow: 1; /* This makes the main content grow to fill the remaining vertical space */
}

footer {
    flex-shrink: 0; /* This prevents the footer from shrinking */
    margin-top: auto; /* This pushes the footer to the bottom */
}

.container {
    max-width: 800px;
}

@media screen and (max-width: 449px) {
    .container {
        max-width: 100%;
    }
}
@media screen and (min-width: 450px) and (max-width: 600px) {
    .container {
        max-width: 420px;
    }
}
@media screen and (min-width: 601px) and (max-width: 768px) {
    .container {
        max-width: 550px;
    }
}
@media screen and (min-width: 769px) and (max-width: 992px) {
    .container {
        max-width: 700px;
    }
}
@media screen and (min-width: 993px) {
    .container {
        max-width: 800px;
    }
}