*{
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

:root{
  font-size: 62.5%;
  --font-family: 'open sans', sans-serif;
  --font-color: #fff;
  --font-search-bar: 1.8rem;
  --font-body: 1.4rem;
  --gradient-card: #0000008c;
  --gradient-search: #0000007a;
  --button-hover: #7c7c7c6b;
}

body {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
  margin: 0;
  font-family: var(--font-family);
  font-size: var(--font-body);
  background-color: #8fc7f5;
  background-image: url("https://source.unsplash.com/1600x900/?weather");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center; 
  transition: background 2s linear 2.5s;
}

.card{
  width: 100%;
  max-width: clamp(40rem, 30rem + 30vw, 55rem);
  background: var(--gradient-card);
  color: var(--font-color);
  padding: 2rem;
  border-radius: 30px;
  margin: 1rem;
}

.search{
  display: flex;
  align-items: center;
  justify-content: center;
}

button{
  margin: 0.5rem;
  border-radius: 50%;
  border: none;
  height: 3em;
  width: 3em;
  background: var(--gradient-search);
  cursor: pointer;
  transition: 0.2s ease-in-out;
}

button:hover{
  background: var(--button-hover);
}

.search-bar{
  border: none;
  padding: 0.5em 1em;
  border-radius: 24px;
  background: var(--gradient-search);
  color: var(--font-color);
  font-family: inherit;
  font-size: var(--font-search-bar);
  width: 70%;
}

.weather{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  margin-top: 30px;
}

.weather-text{
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: clamp(14px, 6px + 4vw, 26px);
  margin-top: 20px;
}

.description:first-letter {
  text-transform: uppercase;
}

.city{
  font-size: clamp(20px, 6px + 4vw, 28px);
}

.temp{
  font-size: clamp(22px, 6px + 4vw, 32px);
}

.temp-icon{
  display: flex;
  flex-direction: row;
  gap: 10px;
  align-items: center;
  margin-top: 20px;
}

.icon{
  background-color: #ffffff69;
  border-radius: 50%;
}