@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300&display=swap');
*,
*::after,
*::before {
    box-sizing: border-box;
}

:root {
    --spacing-medium: 0.5rem;
    --spacing-regular: 1rem;

    --font-small: 0.5rem;
    --font-regular: 1rem;
    --font-large: 2rem;
    --font-xl: 4rem;

    --font-semibold: 600;
}

h1, 
h2 {
    margin: 0;
}

p {
    margin: var(--spacing-medium);
}

body {
    margin: 0;
    font-family: 'Roboto', sans-serif;
    max-width: 800px;
    margin: var(--spacing-medium);
    background: linear-gradient(to right, rgb(22, 61, 95) 0%, rgb(50, 128, 191)90%);
    color: aliceblue;
}

.container{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-areas:
    "search search"
    "current current"
    "feelslike humidity"
    "hourly hourly"
    "fiveday fiveday";
    gap: var(--spacing-regular);
    padding: var(--spacing-regular);
}

.container > article {
    border: 3px solid rgba(23, 84, 137, 0.2);
    border-radius: var(--spacing-regular);
    padding: var(--spacing-regular);
    background-color: rgba(0,0,0,0.1);
}

#search {
    grid-area: search;
    font-size: var(--font-regular);
    border-radius: var(--spacing-regular);
    padding: var(--spacing-regular);
    height: 3rem;
    background-color: #FFF;
}

input[type=search] {
    border: none;
    -webkit-transition: 0.2s;
    transition: 0.2s;
    outline: none;
}

input[type=search]:focus {
    border: 3px solid rgb(11, 61, 105);
}

#current-forecast{
    grid-area: current;
    text-align: center;
    height: 270px;
    background-color: rgba(0,0,0,0.5);
}

#current-forecast .city {
    position: static;
}
#current-forecast .temp {
    font-size: var(--font-xl);
    position: relative;
    top: 15px;
}

#current-forecast .description {
    font-size: var(--font-regular);
    font-weight: var(--font-semibold);
    text-transform: capitalize;
    position: relative;
    top: -25px;
} 

#feels-like{
    grid-area: feelslike;
    text-align: center;
    background-color: rgba(0,0,0,0.3);
}

#humidity {
    grid-area: humidity;
    text-align: center;
    background-color: rgba(0,0,0,0.3);
}

.feels-like-temp,
.humidity-value {
    font-size: var(--font-large);
    padding-top: 20px;;
}

#hourly-forecast{
    grid-area: hourly;
    text-align: center;
    background-color: rgba(0,0,0,0.3);
}

#hourly-forecast .hourly-container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
    grid-auto-flow: column;
    grid-auto-columns: minmax(100px, 1fr);
    overflow-x: auto;
    gap: var(--spacing-medium);
    padding-bottom: var(--spacing-regular);
}

#hourly-forecast .hourly-container .icon {
    height: 100px;
    width: 100px;
    object-fit: contain;
}
#hourly-forecast .hourly-container .hourly-temp {
    font-size: var(--font-regular);
    font-weight: var(--font-semibold);
}

#five-day-forecast{
    grid-area: fiveday;
    text-align: center;
    background-color: rgba(0,0,0,0.3);
}

#five-day-forecast .five-day-wise-forecast-container {
    display: grid;
    grid-auto-flow: row;

}

.five-day-forecast-container .day-wise-forecast {
    display: grid;
    grid-template: auto / repeat(4, 1fr);
    gap: var(--spacing-regular);
    place-items: center;
}

.five-day-forecast-container .day-wise-forecast .min-temp,
.five-day-forecast-container .day-wise-forecast .max-temp {
    font-size: var(--font-regular);
    font-weight: var(--font-semibold);
}

.five-day-forecast-container .day-wise-forecast .min-temp {
    opacity: 75%;
}

.five-day-forecast-container .day-wise-forecast .max-temp {
    justify-self: end;
}

.five-day-forecast-container .day-wise-forecast .icon {
    width: 75px;
    height: 75px;
}

.five-day-forecast-container .day-wise-forecast .day {
    text-transform: capitalize;
    justify-self: start;
} 


@media (width>=650px) {
    body {
        margin: var(--spacing-medium) auto;
    }
    .container{
        grid-template-columns: repeat(4, 1fr);
        grid-template-areas:
        "search search search search"
        "current current current current "
        "feelslike humidity fiveday fiveday"
        "hourly hourly fiveday fiveday";
        border: 3px solid rgb(11, 61, 105);
        border-radius: var(--spacing-regular);
    }
}
