@import url("https://fonts.googleapis.com/css2?family=Poppins&display=swap");

* {
  padding: 0px;
  margin: 0px;
  box-sizing: border-box;
  color: white;
  font-family: "Poppins", sans-serif;
}

body {
  /* https://www.youtube.com/watch?v=-sF5KsEo6gM */
  /*  height: 100dvh;*/
  padding: 0 2em;
  background: #2465a7;
  /* https://stackoverflow.com/questions/7427331/css-background-gradient-repeat-issue */
  background-attachment: fixed;
  min-width: 360px;
}

.current {
  margin-bottom: 4em;
}

.search {
  padding: 8px 0;
}
.search > div {
  display: flex;
}
@media (min-width: 640px) {
  .search > div {
    width: 50%;
    margin: auto;
  }
}

.search > div > input {
  text-align: center;
  color: black;
  padding: 0.5em;
  flex-grow: 1;
  border: none;
  border-radius: 4px 0 0 4px;
}

.search > div > button {
  border: none;
  background-color: #a6a6a6;
  cursor: pointer;
  border-radius: 0 4px 4px 0;
}
.fa-search {
  color: black;
  width: 40px;
}

.conditions {
  display: flex;
  flex-flow: row wrap;
}

@media (min-width: 640px) {
  .conditions > .condition {
    /*  flex: 0 0 480px; */
    display: grid;
    grid: repeat(3, 1fr) / repeat(2, minmax(240px, 1fr));
    padding-left: 2em;
  }
}

.condition > :nth-child(1) {
  font-size: 2em;
}
.condition > :nth-child(2) {
  font-weight: 100;
}

.condition > img {
  grid-area: 1/1/-1/2;
  justify-self: stretch;
  align-self: stretch;
  object-fit: contain;
}

.condition > :nth-child(2) {
  grid-area: 1/2/3/-1;
  justify-self: center;
  align-self: center;
  font-size: 5em;
  font-weight: 100;
}

.condition > :nth-child(3) {
  justify-self: center;
  align-self: center;
}

.conditions > .other-data {
  flex: 1;
  flex-basis: 480px;
  display: grid;
  grid: repeat(3, 1fr) / repeat(2, 1fr);
  gap: 20px;
}

@media (min-width: 640px) {
  .conditions > .other-data {
    grid: repeat(2, 1fr) / repeat(3, 1fr);
  }
}

.other-data > * {
  background: #346aa8;
  border-radius: 12px;
  text-align: center;
  height: 140px;
  display: flex;
  flex-flow: column;
  justify-content: space-around;
}

/* .other-data > * > p {
  padding: 1em;
} */

.other-data > * > :nth-child(1) {
  font-weight: 900;
  font-size: 1.2em;
}

.other-data > * > :nth-child(2) {
  font-weight: 100;
  color: white;
  font-size: 0.8em;
}

.forecast {
  width: 100%;
  flex: 4;
  display: flex;
  flex-direction: column;
  padding-top: 4em;
}

.forecast > h3 {
  flex: 1;
  padding-left: 2em;
}

.forecast > .today-forecast {
  flex: 9;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
}

.today-forecast > div {
  flex: 1;
  margin: 2em;
  display: flex;
  flex-direction: column;
  border-radius: 10px;
  padding: 1em;
  background-color: #346aa8;
}

.today-forecast > div > :nth-child(1) {
  flex: 1;
  text-align: center;
  font-size: 0.8em;
}

.today-forecast > div > :nth-child(2) {
  flex: 2;
}

.today-forecast > div > :nth-child(3) {
  flex: 1;
  text-align: center;
  font-size: 1.2em;
}

button:disabled {
  background-color: rgba(83, 83, 95, 0.38) !important;
  cursor: auto !important;
}
