@font-face {
  font-family: 'Inter';
  src: url('fonts/Inter-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Manrope';
  src: url('fonts/Manrope-Bold.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

* {
  margin: 0;
  padding: 0;
}

ul {
  list-style: none;
}

button, select {
  background: none;
  border: none;
}

body {
  padding-inline: 15px;
  background: #2A7B9B;
  background: linear-gradient(90deg,rgba(42, 123, 155, 1) 0%, rgba(129, 237, 83, 1) 100%);

  font-family: Inter, sans-serif;
  font-size: 16px;
  color: #fff;

  transition-duration: 0.5s;
  transition-timing-function: ease-out;
}

body::before {
  margin: 0;
  content: '';
  position: fixed;
  min-height: 150%;
  inset: 0;
  background: #000116;
  z-index: -1;
  transform: translateY(-100%);
  transition-duration: 0.2s;
}

html.is-dark body::before {
  transform: translateY(0);
}

h1, h3 {
  font-family: 'Manrope';
}

h1 {
  font-size: 48px;
}

h3 {
  font-size: 24px;
}

.info {
  display: flex;
  align-items: center;
  flex-direction: column;
  row-gap: 20px;
  padding-top: 35px;
  margin-bottom: 20px;
}

.title {
  text-align: center;
}

.subtitle {
  text-align: center;
}

.list {
  display: flex;
  align-items: center;
  flex-direction: column;
  row-gap: 3px;
  text-align: center;
}

.theme-block {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 10px;
  margin-bottom: 30px;
}

.theme-block__emoji {
  font-size: 25px;
}

.theme-block__button {
  position: relative;
  width: 60px;
  height: 30px;
  padding: 10px;
  background-color: rgb(220, 218, 218);
  border-radius: 30px;
  cursor: pointer;
  transition-duration: 0.2s;
}

.theme-block__button.is-active {
  background-color: rgb(72, 72, 255);
}

.theme-block__button::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  width: 25px;
  height: 25px;
  background-color: #fff;
  border-radius: 50%;
  transform: translateY(-50%) translateX(3px);
  transition-duration: 0.2s;
}

.theme-block__button.is-active::before {
  transform: translateY(-50%) translateX(32px);
}

.select-block {
  display: flex;
  justify-content: center;
  column-gap: 15px;
  margin-bottom: 40px;
}

html.is-dark :is(.select-block__select, .select-block__button) {
  background: #272727;
  color: #ffffff;
}

.select-block__select, .select-block__button {
  padding: 10px 20px;
  background-color: #fff;
  border-radius: 10px;
  cursor: pointer;
  transition-duration: 0.2s;
}

html.is-dark .select-block__button:hover {
  background-color: #2e244b;
}

.select-block__button:hover {
  background-color: #e1dede;
}

.current {
  display: flex;
  flex-direction: column;
  row-gap: 15px;
  max-width: 900px;
  margin-inline: auto;
  margin-bottom: 20px;
}

.current__block {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-height: 25px;
  padding-block: 10px;
  box-shadow: 8px 6px 9px 4px rgba(0,0,0,0.31);
  border-radius: 10px;
  background-color: rgba(255, 255, 255, 0.1);
}

.current__block-element {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 3px;
}

.current__block-element img {
  margin-block: 20px;
}

.current__block-title {
  font-size: 20px;
}

.forecast {
  max-width: 900px;
  margin-inline: auto;
  margin-bottom: 25px;
}

.forecast__block {
  display: flex;
  flex-wrap: wrap;
  column-gap: 15px;
  row-gap: 15px;
  margin-top: 20px;
}

.forecast__block-title {
  font-size: 18px;
}

.forecast__block-element {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 15px 20px;
  flex: 1 1 120px;
  background-color: rgba(255, 255, 255, 0.1);
  box-shadow: 1px 5px 15px 4px rgba(0,0,0,0.15);
  border-radius: 10px;
  text-align: center;
  row-gap: 10px;
}

.forecast__block-element img {
  margin-block: 10px;
}

.status-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 10px;
  padding-bottom: 28px;
  text-align: center;
}
