body {
    background-color: #03020C;
    color: #F3F3F3;
    font-family: 'Open Sans', Arial, sans-serif;
    padding-top: 5px;
}
.light-mode {
    background-color: #F3F3F3;
    color: #03020C;
}

.center {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px; 
    max-width: 33%;
    margin: 0 auto;
    padding-top: 50px;
    padding-bottom: 50px;
}

/* Modifier for pages (like Contact) that should be wider than the default center */
.center--wide {
    max-width: 60%;
    /* allow children (form blocks) to stretch to full width */
    align-items: stretch;
}

/* Make form controls fill the wider center area */
.center--wide .form-control {
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

/* Ensure form group divs take full width inside the wider center */
.center--wide .mb-3 {
    width: 100%;
}

.footer {
    left: 0;
    bottom: 0;
    width: 100%;
    background-color: #41D2EF;
    color: #03020C;
    text-align: left;
    padding-top: 10px;
    /* hide by default and slide in when visible */
    position: fixed;
    transform: translateY(110%); /* off-screen */
    transition: transform 300ms ease-in-out, opacity 300ms ease-in-out;
    opacity: 0;
    z-index: 1000;
}

/* When .visible is added, slide the footer up into view */
.footer.visible {
    transform: translateY(0);
    opacity: 1;
}

/* Make the centered column nearly full-width on small screens */
@media (max-width: 600px) {
    .center {
        max-width: 95%;
        width: 95%;
        padding: 20px 10px; /* give some breathing room on mobile */
        box-sizing: border-box;
    }
}
    