.forecast {
	z-index:22;
}

#forecast-scroller {
	position: absolute;
	width: 100%;
	overflow: hidden;
	top: 70px;
	margin-top: -10px;
	height: calc(100% - 60px);

	/* Performance optimizations */
	contain: layout style;
	will-change: scroll-position;
	
	/* Prevent flickering and improve touch behavior */
	touch-action: pan-y;
	-webkit-overflow-scrolling: touch;
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
}

#forecast-scroller .list {
	border-top: 0px;
}

.forecast .forecast-item {
	font-size: 18px;
	overflow: auto;
	padding: 20px 0px 20px 0px;
	border-radius: 10px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	margin: 6px;
}

.forecast .forecast-summary {
	float: left;
	padding-left: 18px;
	width: 82px;
}

.forecast .forecast-text {
	float: left;
	width: calc(100% - 178px);
	letter-spacing: -0.5px;
}

.forecast .forecast-icon {
	position: relative;
	float: left;
	padding-top: 10px;
	height: 58px;
}

.forecast .forecast-icon i {
	font-size: 40px;
}

.forecast .forecast-day {
	float: left;
	font-weight: 600;
	font-size: 19px;
	width: 100%;
	letter-spacing: -0.5px;
}

.forecast .forecast-desc {
	clear: both;
	float: left;
	padding-bottom: 16px;
	font-size: 18px;
	overflow-wrap: break-word;
	padding-right: 4px;
}

.forecast .forecast-temp {
	float: right;
	text-align: right;
	width: 96px;
	padding-right: 16px;
	font-size: 23px;
	line-height: 56px;
	letter-spacing: -1px;
}

.forecast-details {
	clear: both;
	float: left;
	font-size: 16px;
	width: 100%;
	border-top: 1px solid rgba(255, 255, 255, 0.09);
}

.forecast-heading {
	float: left;
	width: 100%;
	font-size: 17px;
	padding-top: 14px;
	padding-bottom: 0px;
	padding-left: 18px;
	width: 95%;
}

.forecast-prop-key {
	font-size: 17px;
	color: #B1C4DB;
}

.forecast-prop-value {
	font-size: 17px;
}

.forecast-prop-value.long-text {
	font-size: 18px;
}

.forecast-heading.space {
	padding-top: 24px;
}

.forecast-section {
	width: 100%;
	display: table;
	height: auto;
	padding-top: 10px;
}

.forecast-section-icon {
	width: 15%;
	display: table-cell;
	text-align: center;
	vertical-align: middle;
}

.forecast-section-icon i {
	vertical-align: middle;
	font-size: 18px;
}

.forecast-section-details {
	width: 85%;
	display: table-cell;
}

.forecast-row {
	float: left;
	width: 100%;
	padding-top: 9px;
}

.forecast-row-text {
	float: left;
	width: 100%;
	padding-left: 18px;
	padding-top: 16px;
}

.forecast-section.space {
	padding-top: 16px;
}

.forecast-col {
	float: left;
	width: 50%;
	line-height: 18px;
}

.forecast-col.full {
	width: 95%;
	line-height: 26px;
}

.forecast-col.keyleft {
	width: 48%;
	max-width: 156px;
}

.forecast-col.valueright {
	width: 52%;
}

.forecast-loader {
    position: relative;
	top: 50%;
    width: 100%;
    z-index: 1999;
    display: none;
}

.forecast .uvrankcolor {
	margin-top: 2px;
    margin-right: 3px;
    border-radius: 3px;
    width: 14px;
    height: 14px;
    float: left;
}

@media (max-width: 350px) {
	.forecast-section-icon i {
		font-size: 18px;
	}

	.forecast-prop-key {
		font-size: 16px;
	}
	
	.forecast-prop-value {
		font-size: 16px;
	}
	
	.forecast-prop-value.long-text {
		font-size: 16px;
	}

	.forecast-heading {
		font-size: 16px;
	}
}

@media (min-width: 600px) and (max-width: 859px) {
	#forecast-scroller {
		max-width: 600px;
		left: calc(50% - 300px);
	}
}

@media (min-width: 860px) {
	#forecast-scroller {
		max-width: 700px;
		left: calc(50% - 350px);
	}
}
