body {
    font-family: Arial, Helvetica, sans-serif;
    background-color: aliceblue;
}

label {
    /* Uniform size & alignment */
    display: inline-block;
    min-width: 80px;
    text-align: right;
    padding-right: 5px;
}

header {
    text-align: center;
}

input {
    font-size: 1em;
    width: 150px;
    min-width: 150px;
    box-sizing: border-box;
    /* Match form field borders */
    border: 1px solid #999;
}

input:focus {
    /* Additinal highlight for focused elements */
    border-color: #000;
}

select {
    min-width: 150px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 1em;
}

input[type='date'], input[type='time'] {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 1em;
}

.main-container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 1em;
    max-width: 600px;
    margin: 0 auto;
    padding: 0.5em;
}

.input-fieldset {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 0.8em;
    gap: 0.5em;
    border: 1px solid #ccc;
    border-radius: 0.5em;
    background-color: white;
    filter: drop-shadow(0.2em 0.2em 0.25em #80808080);
}

#btn_fetch_wind_forecast, #btn_save_csv_file {
    font-size: 1em;
    filter: drop-shadow(0.2em 0.2em 0.25em #80808080);
}

.control-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1em;
    width: 100%;
    margin: 1em auto;
}

.input-container, .feedback-container {
    display: block;
    padding: 1em auto;
    margin: 0 auto;
}

.feedback-container {
    font-size: 1.6em;
    text-align: center;
}

.button-container {
    display: flex;
    justify-content: center;
    width: 100%;
    margin: 0 auto;
}

.csv-options-toggle {
    max-width: 600px;
    margin: 0 auto;
    padding: 0.5em 1em;
    color: black;
    background-color: lightgrey;
    font-size: 1em;
    text-align: left;
    outline: none;
    border: 1px solid lightgrey;
    border-radius: 0.4em;
    filter: drop-shadow(0.2em 0.2em 0.25em #80808080);
    transition: border-radius 0.2s linear;
}

.csv-options-toggle:hover {
    background-color: darkgrey;
    border: 1px solid darkgrey;
}

.csv-options-toggle:after {
    content: '\02795'; /* Unicode character for "plus" sign (+) */
    color: black;
    font-size: 1em;
    float: right;
    margin-left: 5px;
}

.active {
    border-radius: 0.4em 0.4em 0 0;
}

.active:after {
    content: "\2796"; /* Unicode character for "minus" sign (-) */
}

.csv-options-collapsable {
    padding: 0;
    overflow: hidden;
    max-height: 0;
    filter: drop-shadow(0.2em 0.2em 0.25em #80808080);
    transition: max-height 0.2s ease-out;
}

.csv-options-container {
    background-color: #e4ecff;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 1em;
    max-width: 600px;
    margin: 0 auto;
    padding: 1.5em 1em;
    border: 1px solid lightgrey;
    border-radius: 0 0 0.4em 0.4em;
}