/********** Site-wide **********/
*, *::before, *::after {
  box-sizing: border-box;
}


/********* Error message container **********/
#error-container {
    display: flex;
    flex-direction: column;
    width: 100%;
    align-items: center;
    justify-content: center;
    border-bottom: 2px solid black;
    background-color: #ff8080;
}


/********** Locations summary at top **********/
#locations-parent {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 20px;
    border-bottom: 2px solid black;
    background-color: var(--primary-color);
}

#locations-title {
    text-align: center;
    width: 100%;
}

#locations-container {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    width: 100%;
}

.location {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border-radius: 10px;
    min-width: 200px;
    min-height: 200px;
    margin: 20px;
}

.delete_button {
    padding-bottom: 5px;
}


/********** Search container **********/
#search-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 20px;
    width: 100%;
    border-bottom: 2px solid black;
    background-color: var(--secondary-color);
}

.search-h1 {
    padding-bottom: 10px;
    margin: 0px;
}

.search-p {
    margin: 0px;
    padding: 0px;
}

#location-form {
    padding-top: 20px;
    align-items: center;
    justify-content: center;
    padding: 0px;
    margin: 20px 0px 0px 0px;
}

#form-container {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    width: 100%;
}

#label-container, #input-container {
    display: flex;
    flex-direction: column;
    padding: 5px;
}

#label-container {
    padding-right: 5px;
}

#location-form > input[type="text"] {
    min-width: 100px;
    max-width: 100px;
}

#search-button-container {
    margin: 0px;
    padding: 0px;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
}


/********** Forecasts container **********/
#forecasts-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
    padding: 20px;
    gap: 20px;
    background-color: var(--tertiary-color);
}

#forecasts-title {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.location-forecast-container {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.location-border-container {
    width:100%;
    margin: 0px;
    padding:0px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.location-border {
    margin: 0px;
    padding: 0px;
    width: 75%;
    border-top: 4px solid black;
}

.location-title-container {
    display: flex;
    justify-content: center;
    align-items: center;
}

.location-tables-container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
}

.forecast-table {
    border-collapse: collapse;
    border: 1px solid black;
    margin: 20px;
}

.table-day {
    border: 1px solid black;
}

.high-low {
    border-left: 1px solid black;
    border-right: 1px solid black;
}

.precipitation {
    margin: 0px;
    padding: 0px 0px 5px 0px;
    border-left: 1px solid black;
    border-right: 1px solid black;
}

th, td {
    border: 1px solid black;
    padding: 5px;
    text-align: center;
}