html {
    box-sizing: border-box;
}

*,
*::after,
*::before {
    box-sizing: inherit;
    margin: 0;
    padding: 0;
    border: none;
    outline: none;
}

body {
    min-height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: sans-serif;
    background-color: #f0ffff;
}

.container {
    width: 400px;
    height: min-content;
    background-color: hsla(165, 38%, 38%, 0.884);
    padding: 4rem;
    border-radius: 0.50rem;
}

.search-box {
    width: 100%;
    height: min-content;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.search-box input {
    flex-basis: 76%;
    font-size: 1rem;
    padding: 1rem;
    border-radius: .50rem;
    margin-right: 2rem;
}

.search-box input::placeholder {
    color: #000;
}

.search-box button {
    width: 50px;
    height: 50px;
    background: transparent;
    font-size: 3rem;
    color: rgba(0, 50, 90, 0.9);
    transition: .5s;
}

.search-box button:focus {
    cursor: pointer;
}

.weather-body {
    display: none;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    margin-block: 20px;
}

.container .weather-body img {
    width: 60%;
}

.weather-box {
    margin-block: 20px;
    text-align: center;
}

.weather-box .temperature {
    font-size: 2rem;
    font-weight: 800;
    position: relative;
}

.weather-box .temperature sup {
    font-size: 1rem;
    position: absolute;
    font-weight: 600;
}

.weather-box .description {
    font-size: 1rem;
    font-weight: 700;
    text-transform: capitalize;
}

.weather-detail {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 2rem;
}

.humidity,
.wind {
    display: flex;
    align-items: center;
}

.humidity {
    margin: 0 2rem 0 0;
}

.wind {
    margin: 0 0 0 2rem;
}

.weather-detail i {
    font-size: 2rem;
}

.weather-detail .text {
    margin-left: .40rem;
    font-size: 1rem;
}

.text span {
    font-size: 1rem;
    font-weight: 700;
}

.location-not-found {
    margin-top: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    display: none;
}

.location-not-found img {
    width: 80%;
}

.location-not-found h1 {
    font-size: 1.10rem;
    color: #6b6b6b;
    margin-block-end: 20px;
}