body {
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    height: 100vh;
    font-family: 'Roboto', sans-serif;
    background-color: #F5F7FA;
    color: #333;
    justify-content: flex-start;   /* Align to the top */
    padding: 50px 0;               /* Add some vertical padding */
    flex-direction: column; 
}

.container {
    width: 80%;
    max-width: 600px;
    padding: 20px;
    background-color: #fff;
    border-radius: 10px;
    text-align: center;
    border: 2px solid #ccc;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
}

h2 {
    font-size: 24px;
    text-align: center;
}

#problem {
    font-size: 36px;
    text-align: center;
    margin-bottom: 20px;
}

#answer {
    font-size: 24px;
    width: 100px;
    display: block;
    margin: 0 auto 20px;
    padding: 10px;
    border: 2px solid #4A90E2;
    border-radius: 5px;
    z-index: 2;   /* This ensures the input box stays on top if there's any overlap */
    margin-bottom: 10px;     /* Adds some space between the input and the feedback */
}

button {
    margin-top: 10px;
    padding: 10px 15px;
    font-size: 1rem;
    border: none;
    cursor: pointer;
    transition: background-color 0.3s;
    background-color: #4A90E2;
    color: #FFF;
    border-radius: 5px;
    align-self: center;
}

button:hover {
    background-color: #357ABD;
}

.submit-btn {
    width: auto; /* Ensure the button doesn't stretch */
    margin: 0 auto; /* Center the button */
}

nav {
    display: flex;
    justify-content: space-around;
    align-items: center;
    padding: 10px;
    background-color: #4A90E2;
}

nav a {
    color: #fff;
    text-decoration: none;
    padding: 10px;
    border-radius: 5px;
    transition: background-color 0.3s;
}

nav a:hover {
    background-color: #357ABD;
}

#feedback {
    text-align: center;
    width: 100%; 
    margin-top: 10px;      /* Adding a top margin for separation */
}


.correct-feedback {
    color: green;
}

.incorrect-feedback {
    color: red;
}

#wrapper {
    transition: background-color 0.5s;
    background-color: #F5F7FA;
}

.input-container {
    display: flex;
    flex-direction: column;  /* This stacks the children vertically */
    justify-content: center;
    align-items: center;     /* This centers the children horizontally */
}

#statusBar {
    height: 20px;
    width: 100%;
    max-width: 600px;  /* Match the width of the container */
    border: 1px solid black;
    background-color: #F5F7FA;
    border-radius: 10px;     /* Adding rounded corners */
    overflow: hidden;        /* To ensure inner divs don't spill out */
}

.settings-container, 
#statusBar, 
.container {
    margin-bottom: 20px;  /* Adds some spacing between elements */
    align-self: center;   /* Horizontally centers the elements */
}


.settings-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 80%;           /* Limiting width */
    max-width: 600px;
}

input[type="range"] {
    width: 100%;           /* Making the slider full width */
    margin: 10px 0;        /* Adding some vertical margin */
}

#koala {
    transition: all 5s ease-in-out;
}


#numProblemsText {
    width: 50px; /* Adjust as needed */
    text-align: center; 
    margin-left: 10px; /* Creates a small space between the label and the input field */
}

.problems-input-group {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}

.quiz-selection {
    display: flex;
    justify-content: space-between; 
    flex-wrap: wrap; /* Allow items to wrap to the next line if needed */
    gap: 10px; /* Spacing between items */
    align-items: center; /* Vertically align items in the middle */
}

/* By default, for smaller screens, set the items to take up full width */
.quiz-selection > * {
    flex: 0 0 100%;
    margin-bottom: 10px; /* Some margin for vertical spacing */
}


/* For larger screens, allow items to be side by side */
@media (min-width: 768px) { 
    .quiz-selection > * {
        flex: 1;
        margin-bottom: 0; 
    }


}

@media only screen and (max-width: 768px) {
    .quiz-selection label {
        margin-bottom: 0px; /* Adjust this value as needed */
    }

    .quiz-selection select {
        padding: 5px; /* Add padding for larger touch area and visual size */
        font-size: 22px; /* Adjust font size for readability */
        width: 100%; /* Make sure the dropdown takes up full available width */
        box-sizing: border-box; /* Ensure padding doesn't cause width to exceed 100% */
    }
}

