body {
  background: #0a081f;
  font-family: "Rubik";
  margin: 0;
  padding: 0;
}

img {
  width: 100%;
  height: auto;
}

#app {
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 480px;
  background: #fff;
  border-radius: 4px;
  overflow: hidden;
  min-height: 480px;
} 

@media (max-width: 490px) {
	#app {
		display: flex;
		flex: 0 0 100%;
		flex-basis: 240px;
		width: 350px;
		overflow: scroll;
	}

}

@media (max-width: 360px) {
	#app {
		display: flex;
		flex: 0 0 100%;
		flex-basis: 240px;
		width: 290px;
	}

	.form {
		width: 100%;
	}

	.popup {
		position: fixed;
		left: 0;
		top: 0;
		width: 290px;
		transform: translateX(-200%);
		background: #8781c5;
	}

	.form-group {
		display: flex;
		padding: 0 10px;
		flex-direction: column;
		gap: 10px;
	}

	.form-input {
		flex: 1 1 50%;
		border: none;
		border-bottom: 2px solid #e41d27;
		color: #fff;
		background: transparent;
		outline: none;
		font-size: 19px;
		width: 30%;
		padding: 5px;
	}
	 
	 .form-submit {
		flex: 1 1 50%;
		padding: 10px;
		background: #000;
		color: #fff;
		width: 10%;
		cursor: pointer;
		border: none;
		border-radius: 8px;
		outline: none;
	}
}

@media (max-width: 290px) {
	#app {
		display: flex;
		flex: 0 0 100%;
		flex-basis: 240px;
		width: 240px;
	}
}

#root {
  height: 100%;
  width: 100%;
}

.popup {
  position: fixed;
  left: 0;
  top: 0;
  width: 480px;
  transform: translateX(-200%);
  background: #8781c5;
  border-radius: 4px;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.3s ease-in-out;
  z-index: 9;
}

.popup.active {
  transform: translateX(0);
}

.popup-close {
  position: absolute;
  top: 20px;
  right: 15px;
  cursor: pointer;
  width: 22px;
  height: 22px;
}

.popup-close span {
  display: block;
  margin-top: 10px;
  width: 22px;
  height: 2px;
  background: #fff;
  transform: rotate(45deg);
  position: relative;
}

.popup-close span:after {
  content: "";
  display: block;
  width: 22px;
  height: 2px;
  background: #fff;
  transform: rotate(-90deg);
  position: absolute;
  top: 0;
  left: 0;
}

@media (max-width: 490px) {
	.popup {
		width: 360px;
	}

	.popup-close {
		position: absolute;
		top: 20px;
		right: 23px;
		cursor: pointer;
		width: 22px;
		height: 22px;
		/* z-index: 99; */
	}
	 
	.popup-close span {
		display: block;
		margin-top: 10px;
		width: 22px;
		height: 2px;
		background: #fff;
		transform: rotate(45deg);
		position: relative;
	}
	 
	.popup-close span:after {
		content: "";
		display: block;
		width: 22px;
		height: 2px;
		background: #fff;
		transform: rotate(-90deg);
		position: absolute;
		top: 0;
		left: 0;
	}
}

@media (max-width: 360px) {
	.popup-close {
		position: absolute;
		top: 20px;
		right: 84px;
		cursor: pointer;
		width: 22px;
		height: 22px;
		/* z-index: 99; */
	}
	 
	.popup-close span {
		display: block;
		margin-top: 10px;
		width: 22px;
		height: 2px;
		background: #fff;
		transform: rotate(45deg);
		position: relative;
	}
	 
	.popup-close span:after {
		content: "";
		display: block;
		width: 22px;
		height: 2px;
		background: #fff;
		transform: rotate(-90deg);
		position: absolute;
		top: 0;
		left: 0;
	}
}

.form {
  width: 30rem;
}

.form-group {
  display: flex;
  padding: 0 15px;
  justify-content: space-between;
}

.form-input {
  border: none;
  border-bottom: 2px solid #eee;
  color: #fff;
  background: transparent;
  outline: none;
  font-size: 19px;
  width: 24rem;
  padding: 5px;
}

.form-submit {
  background: #000;
  color: #fff;
  width: 3rem;
  cursor: pointer;
  border: none;
  border-radius: 8px;
  outline: none;
}

.form-input::placeholder {
  color: rgb(187, 187, 187);
}

@media (max-width: 490px) { 
	.form {
		width: 24rem;
	}

	.form-group {
		display: flex;
		flex-direction: column;
		gap: 10px;
	}

	.form-input {
		flex: 1 1 50%;
		width: 19rem;
	}

	.form-submit {
		flex: 1 1 50%;
		padding: 10px;
	}
}

@media (max-width: 360px) {
	.form-input {
		flex: 1 1 50%;
		width: 15.5rem;
	}
}


.loader {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.container:before {
  content: "";
  display: block;
  background: url(./img/figure1.svg) no-repeat center/cover;
  width: 100%;
  height: 52%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}

.container.is-day::before {
  background: url(./img/figure2.svg) no-repeat center/cover;
}

.top {
  position: relative;
  padding: 18px;
}

.city-info {
  display: flex;
  justify-content: space-between;
}

.top-left {
  max-width: 60%;
}

.city {
  width: max-content;
}

.city-subtitle {
  font-size: 15px;
  line-height: 18px;
  color: #ffffff;
}

.city-title {
  background: #8781c5;
  border-radius: 8px;
  font-weight: 700;
  font-size: 35px;
  line-height: 117%;
  color: #ffffff;
  padding: 1px 8px;
  margin-top: 6px;
  cursor: pointer;
  width: max-content;
}

.city-info {
  margin-top: 28px;
}

.city-info__subtitle {
  font-size: 13px;
  line-height: 15px;
  color: #ffffff;
}

.city-info__title {
  font-weight: 500;
  font-size: 53px;
  line-height: 145%;
  color: #ffffff;
}

@media (max-width: 360px) {
	.city-title {
		font-size: 30px;
		line-height: 117%;
		color: #ff7b47;
	}

	.city-info__title {
		font-weight: 500;
		font-size: 37px;
		color: #ff7b47;
		background: #8781c5;
	}

	.city-subtitle {
		font-size: 15px;
		line-height: 18px;
		color: #ff7b47;
		background: #8781c5;
	}
}

@media (max-width: 290px) {
	.popup-close {
		right: 135px;
	}
	.city-info__title {
		font-weight: 400;
		font-size: 33px;
		line-height: 145%;
		color: #ffffff;
	}

	.city-title {
		font-weight: 700;
		font-size: 24px;
		line-height: 117%;
	}

	.property-icon {
		width: 30px;
		margin-right: 5px;
	}
	 
	.property-info__value {
		font-weight: 500;
		font-size: 14px;
		line-height: 18px;
		color: #000000;
	}
	 
	.property-info__description {
		font-weight: 300;
		font-size: 10px;
		line-height: 100%;
		text-transform: uppercase;
		color: #6b6b6b;
		margin-top: 3px;
	}
}

.description {
  font-weight: 500;
  font-size: 25px;
  line-height: 36px;
  color: #ffffff;
}

@media (max-width: 360px) {
	.description {
		color: #ff7b47;
		background: #8781c5;
	}
}


.top-right {
  text-align: right;
}

.icon {
  width: 68px;
  height: 68px;
}

.property {
  width: 50%;
  display: flex;
  align-items: center;
}

.property-icon {
  width: 30px;
  margin-right: 6px;
}

.property-info__value {
  font-weight: 700;
  font-size: 16px;
  line-height: 18px;
  color: #000000;
}

.property-info__description {
  font-weight: 300;
  font-size: 12px;
  line-height: 12px;
  text-transform: uppercase;
  color: #6b6b6b;
  margin-top: 3px;
}

#properties {
  position: relative;
  z-index: 1;
  padding: 18px;
  margin-top: 32px;
  display: flex;
  flex-wrap: wrap;
  row-gap: 20px;
  justify-content: space-between;
}
