* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body, html {
    height: auto; /* changed from 100% to auto to accommodate content height */
    margin: 0;
    font-family: Oxanium, sans-serif;
    overflow-x: hidden; /* Prevent horizontal scroll */
    overflow-y: auto; /* Allow vertical scroll */
}

.container {
    display: flex;
    flex-direction: column;
    align-items: center; /* Ensure all children are centered horizontally */
    justify-content: flex-start; /* changed from center to flex-start */
    padding-bottom: 20px; /* Add some padding at the bottom */
}

footer {
    height: 80px;
    position: relative;
    margin-top: 20px; /* Adjust margin to ensure spacing */
    clear: both;
}

.main {
    display: flex;
    flex-direction: column; /* Stack children vertically */
    align-items: center; 
    flex-grow: 1;
    padding-top: 20px;
}

header, footer {
    text-align: center;
    padding: 20px 20px 0; /* Remove padding-bottom */
    width: 100%;
/*    background-color: yellowgreen;*/
}

h1 {
    font-size: 8em;
    margin: 0; /* Remove default margins */
    padding-bottom: 0; /* Remove padding at the bottom */
}

.subtitle {
    font-size: 1em;
    margin-top: 0; /* Ensure no margin on top */
    padding-top: 0; /* No padding on top */
}

#show, #error {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center; /* Center the contents */
    width: 100%;
}

#error {
    position: absolute; 
    bottom: 250px; 
    left: 40%; 
    transform: translateX(-50%); /* Ensure it centers exactly on the horizontal */
    width: auto; 
    text-align: center; 
    color: #F20505; /*color red*/
    font-size: 1.2em; 
    font-weight: 500;
}

#show {
    flex-direction: column;  
    margin: auto; 
}


/*reposition the "Search City, State" button under the TV */
.input-group {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px; /* Adjust the space between inputs and button */
    margin-top: 20px; /* Distance from the TV */
}

#city, #state {
    width: 150px; /* Adjust width as necessary */
}

#city, #state, button#submitWeather {
    height: 30px; /* Ensure input fields and button are the same height */
    padding: 0 10px; /* Padding inside the input fields and button */
    font-size: 16px; /* Font size for the text inside the inputs and button */
    border: 1px solid #0D0D0D; /* Border to make inputs visually consistent */
    border-radius: 5px; /* Rounded corners for aesthetics */
}

button#submitWeather {
    cursor: pointer;
    background-color: #E0DD04; /* A green background for the button */
    color: #0D0D0D; /* Text color black for the button */
    border: none; /* No border for the button to make it stand out */
    font-family: Oxanium, sans-serif;
    font-weight: 600;
}

.animation-tv-wrapper {
    position: relative;
    width: 600px;
    height: 569px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 20px; /* Optional: Adds space below the TV before inputs */
}

.canvas-container {
    position: relative;
    width: 400px;
    height: 350px;
    left: calc(33% - 260px);
    top: 23%;
    transform: translateY(-50%);
}

.overlay-image {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%; 
    height: 100%;  
    transform: translate(-50%, -50%);
    pointer-events: none; 
}

#textOverlay {
    position: absolute; 
    top: 65%; 
    left: 50%; 
    transform: translateX(-50%); 
    color: #0D0D0D; 
    font-size: 1.8em;
    font-weight: 600;
}
