/**
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    contenteditable attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that are clearfixed.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */
.cf:before,
.cf:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}

.cf:after {
    clear: both;
}

/**
 * For IE 6/7 only
 * Include this rule to trigger hasLayout and contain floats.
 */
.cf {
    *zoom: 1;
}

.snow-widget-container {
	width: 100%;
	background-color: #fff;
	margin-bottom: 20px;
}
.snow-widget.interior {
	padding: 15px;
}
.snow-widget header {
	padding: 5px;
	border-bottom: 1px solid #ccc;
}
.snow-widget header .left {
	float: left;
	width: 70%;
}
.snow-widget header .right {
	float: right;
	width: 28%;
}
.snow-widget header .title {
	color: #0567b6;
	font-weight: bold;
	text-transform: uppercase;
	font-size: 15px;
	line-height: 20px;
}
.snow-widget header .date {
	color: #979797;
	font-size: 13px;
	line-height: 14px;
}
#sidebar .snow-widget section.current-weather {
	background: url("img/snow_bg.png") top center repeat-x;
	padding-top: 10px;
	padding-bottom: 0px;
	padding-left: 10px;
	margin-bottom: 10px;
}
.snow-widget .current-weather .row {
	width: 100%;
	display: table;
	margin: 0 auto;
}
.snow-widget .current-weather .col {
	display: inline-block;
	min-width: 35px;
	min-height: 5px;
	display: table-cell;
	width: 20%;
	vertical-align: middle;
}
.snow-widget .current-weather .snow-widget-icon {
	padding-top: 10px;
}
.snow-widget .current-weather small {
	font-size: 11px;
	line-height: 11px;
	color: #878787;
	display: block;
}
.snow-widget .current-weather .number {
	color: #3baae0;
	font-size: 13px;
	line-height: 13px;
	margin-bottom: 2px;
	display: block;
}
.snow-widget .high {
	color: #c72f00;
	display: block;
	font-size: 14px;
	line-height: 18px;
}
.snow-widget .low {
	color: #0079c2;
	display: block;
	font-size: 14px;
	line-height: 18px;
}
#sidebar .snow-widget .four-day {
	padding-left: 10px;
	margin-bottom: 0;
}
.snow-widget .four-day .col {
	display: inline-block;
	min-width: 35px;
	width: 22%;
	color: #939393;
	text-align: center;
	line-height: 14px;
}
.snow-widget .four-day .day-title {
	text-transform: uppercase;
	display: block;
	font-size: 15px;
	font-weight: bold;
	line-height: 18px;
}
.snow-widget .four-day .date {
	font-size: 13px;
	line-height: 13px;
	display: block;
	margin-bottom: 10px;
}


#forecast .flat_tabs_content	{
	border-bottom: 1px solid #fff;
	float: left;
}

#forecast .content.weather	{
	float: left;
	position: relative;
	margin-top: 0;
	border-bottom: 1px solid #CCCCCC;
}

#forecast .content.weather.long_term	{
	border-bottom: none;
}

#forecast .long_term_day_wrapper	{
	float: left;
	border-bottom: 1px solid #CCCCCC;
	margin-bottom: 25px;
}

#forecast .long_term_day_wrapper:last-child	{
	margin-bottom: 0;
}

#forecast .weather_table.data li .time,
#forecast .weather_table.station_desc .time	{
	float: left;
	width: 150px;
	height: 31px;
	font-weight: bold;
	font-size: 14px;
	background-color: #dcecf1;
	border-bottom: 1px solid #fff;
	text-transform: uppercase;
	line-height: 13px;
	padding-top: 2px;
}

#forecast .hour_by_hour .weather_table.station_desc .time	{
	height: 32px;
}

#forecast .hour_by_hour .weather_table.data li .time	{
	height: 80px;
	border-left: none;
	border-top: 1px solid #ccc;
	position: relative;
	padding-top: 0;
	border-bottom: none;
}

#forecast .hour_by_hour .weather_table.data li .time .text	{
	top: 32px;
	width: 150px;
	position: absolute;
}

#forecast .weather_table.data li .time	{
	border-left: 1px solid #ccc;
	text-align: center;
}

#forecast .weather_table.data li .time span	{
	font-size: 10px;
}

#forecast .weather_table.station_desc .time	{
	line-height: 28px;
	padding-left: 10px;
	width: 165px;
}

#forecast .hour_by_hour .weather_table.station_desc .time	{
	width: 140px;
}

#forecast .overview .weather_table.station_desc	{
	width: 165px;
	float: left;
	clear: left;
}

#forecast .hour_by_hour .weather_table.station_desc	{
	width: 616px;
	height: 34px;
	float: left;
	clear: left;
}

#forecast .weather_table.station_desc .station	{
	height: 172px;
	float: left;
	border-top: 1px solid #ccc;
	width: 100%;
	position: relative;
	background-color: #F9F9F9;
}

#forecast .hour_by_hour .weather_table.station_desc .station	{
	width: 232px;
	border-top: none;
	border-left: 1px solid #ccc;
	height: 35px;
}


#forecast .weather_table.station_desc .station .box	{
	width: 124px;
	height: 110px;
	border-radius: 3px;
	position: absolute;
	top: 30px;
	left: 14px;
	overflow: hidden;
}

#forecast .hour_by_hour .weather_table.station_desc .station .box	{
	width: 230px;
	height: 33px;
	top: 0;
	left: 1px;
}

#forecast .weather_table.station_desc .station.summit .box	{
	background-color: #1ab7ea;
}

#forecast .weather_table.station_desc .station.base .box	{
	background-color: #004580;
}

#forecast .weather_table.station_desc .station .box .text	{
	color: #fff;
	font-size: 14px;
	width: 100px;
	text-align: center;
	position: absolute;
	top: 50px;
	left: 12px;
	z-index: 1500;
	text-transform: uppercase;
}

#forecast .hour_by_hour .weather_table.station_desc .station .box .text	{
	width: 210px;
	text-align: right;
	position: absolute;
	top: 7px;
	left: 5px;
	text-transform: uppercase;
}

#forecast .weather_table.station_desc .station .box .text strong	{
	font-size: 16px;
}

#forecast .hour_by_hour .weather_table.station_desc .station .box .text strong	{
	font-size: 14px;
}

#forecast .weather_table.station_desc .station .arrow-right {
	position: absolute;
	top: 85px;
	left: 138px;
	width: 0;
	height: 0;
	border-top: 17px solid transparent;
	border-bottom: 17px solid transparent;
}

#forecast .weather_table.station_desc .station.summit .arrow-right	{
	border-left: 17px solid #1ab7ea;
}

#forecast .weather_table.station_desc .station.base .arrow-right	{
	border-left: 15px solid #004580;
}

#forecast .weather_table.station_desc .station.summit .arrow-up.big {
	width: 0;
	height: 0;
	position: absolute;
	left: -10px;
	bottom: 0;
	border-left: 65px solid transparent;
	border-right: 65px solid transparent;
	border-bottom: 95px solid #38c0ed;
}

#forecast .weather_table.station_desc .station.summit .arrow-up.small {
	width: 0;
	height: 0;
	position: absolute;
	left: -33px;
	bottom: 0;
	border-left: 55px solid transparent;
	border-right: 55px solid transparent;
	border-bottom: 75px solid #38c0ed;
}

#forecast .weather_table.station_desc .station.base .arrow-up.big {
	width: 0;
	height: 0;
	position: absolute;
	left: -25px;
	bottom: 0;
	border-left: 45px solid transparent;
	border-right: 45px solid transparent;
	border-bottom: 60px solid #215d90;
}

#forecast .weather_table.data	{
	width: 450px;
	float: left;
}

#forecast .hour_by_hour .weather_table.data	{
	width: 616px;
	float: left;
}

#forecast .weather_table.data li	{
	width: 150px;
	height: 380px;
	float: left;
}

#forecast .hour_by_hour .weather_table.data li	{
	width: 616px;
	height: 81px;
	float: left;
	clear: left;
}

#forecast .weather_table.data li .station	{
	width: 150px;
	height: 172px;
	float: left;
	border-left: 1px solid #cccccc;
	border-top: 1px solid #ccc;
	background: #e8e8e8; /* Old browsers */
	background: -moz-linear-gradient(top,  #e8e8e8 0%, #F9F9F9 10%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#e8e8e8), color-stop(10%,#F9F9F9)); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top,  #e8e8e8 0%,#F9F9F9 10%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top,  #e8e8e8 0%,#F9F9F9 10%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top,  #e8e8e8 0%,#F9F9F9 10%); /* IE10+ */
	background: linear-gradient(top,  #e8e8e8 0%,#F9F9F9 10%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e8e8e8', endColorstr='#F9F9F9',GradientType=0 ); /* IE6-9 */
}

#forecast .hour_by_hour .weather_table.data li .station	{
	width: 232px;
	height: 80px;
	float: left;
	position: relative;
}

#forecast .weather_table.data li .predicted_snowfall {
    height: 53px;
	float: left;
	width: 150px;
}

#forecast .hour_by_hour .weather_table.data li .predicted_snowfall {
    height: 40px;
	float: left;
	width: 110px;
	position: absolute;
	left: 18px;
	top: 0;
}

#forecast .weather_table.data li .white_pill	{
	margin-top: 0;
	margin-right: auto;
	margin-bottom: 0;
	margin-left: auto;
	top: 15px;
	width: 80px;
}

#forecast .weather_table.data li .white_pill	{
	top: 11px;
}

#forecast .weather_table.data li .weather	{
	float: left;
	width: 130px;
	margin-left: 10px;
	border-top: 1px solid #eeeeee;
	position: relative;
	height: 55px;
}

#forecast .hour_by_hour .weather_table.data li .weather	{
	width: 100px;
	margin-left: 0;
	border-top: none;
	position: absolute;
	right: 0;
	height: 80px;
}

.icon	{
	/*position: absolute;*/
	/*top: 8px;*/
	/*left: 5px;*/
	width: 50px;
	height: 42px;
	display: inline-block;
	background-image:url(img/weather_icon_sprite_medium.png);
	background-repeat: no-repeat;
    background-position: 0 1000px;
}

#forecast .hour_by_hour .weather_table.data li .weather .icon	{
	top: 7px;
	left: 25px;
}

.icon.fair, .icon.mostly_sunny {
	background-position: 0 0;
}

.icon.sun, .icon.sunny {
	background-position: 0 -50px;
}

.icon.partly_cloudy, .icon.slightly_cloudy {
	background-position: 0 -100px;
}

.icon.rain_showers	{
	background-position: 0 -150px;
}

.icon.cloudy, .icon.overcas {
	background-position: 0 -200px;
}

.icon.fog	{
	background-position: 0 -250px;
}

.icon.rain, .icon.light_rai {
	background-position: 0 -300px;
}

.icon.sleet_showers	{
	background-position: 0 -350px;
}

.icon.sleet	{
	background-position: 0 -400px;
}

.icon.snow_showers	{
	background-position: 0 -450px;
}

.icon.snow	{
	background-position: 0 -500px;
}

#forecast .weather_table.data li .weather .temp {
    font-size: 21px;
    font-weight: bold;
    height: 20px;
    position: absolute;
    right: 3px;
    text-align: right;
    top: 16px;
    width: 80px;
}

#forecast .hour_by_hour .weather_table.data li .weather .temp	{
	top: 51px;
	right: 17px;
	text-align: center;
	font-size: 18px;
}

.temp.above	{
	color: #bb0000;
}

.temp.below	{
	color: #0079c2;
}

#forecast .weather_table.data li .wind	{
	float: left;
	width: 130px;
	margin-left: 10px;
	border-top: 1px solid #eeeeee;
	position: relative;
}

#forecast .hour_by_hour .weather_table.data li .wind	{
	float: left;
	width: 110px;
	height: 40px;
	margin-left: 0;
	border-top: none;
	position: absolute;
	left: 18px;
	top: 40px;
}

#forecast .weather_table.data li .wind .wind_direction	{
	position: absolute;
	width: 34px;
	height: 34px;
	top: 9px;
	left: 12px;
	border-radius: 3px;
	background-color: #e9e9e9;
}

#forecast .weather_table.data li .wind .wind_direction	{
	background-color: transparent;
}

#forecast .hour_by_hour .weather_table.data li .wind .wind_direction	{
	top: 3px;
}

#forecast .weather_table.data li .wind .wind_direction IMG	{
	display: block;
	width: 32px;
	height: 32px;
	margin: 1px 0 0 1px;
}

#forecast .weather_table.data li .wind .wind_force	{
	position: absolute;
	width: 60px;
	height: 35px;
	top: 11px;
	right: 9px;
	font-size: 11px;
	text-align: center;
	line-height: 14px;
}

#forecast .hour_by_hour .weather_table.data li .wind .wind_force	{
	line-height: 12px;
	top: 9px;
}

#forecast .dayDate	{
	float: left;
	text-align: center;
	color: #000;
	width: 150px;
	line-height: 16px;
}

#forecast .dayDate STRONG	{
	font-weight: bold;
	font-size: 16px;
	text-transform: uppercase;
}

#forecast .snow_table	{
	position: relative; width: 614px; height: 38px; border-bottom: 1px solid #ccc; margin-bottom: 1px; float: left;
}

#forecast .weather_day_header_box	{
	width: 604px;
	border-bottom: 1px solid #ccc;
	margin-bottom: 1px;
	padding-left: 12px;
	line-height: 14px;
	padding-bottom: 4px;
}

#forecast .weather_day_header_box strong	{
	font-size: 18px;
	text-transform: uppercase;
}

#forecast .weather_day_header_box span	{
	text-transform: uppercase;
}

#forecast .weather_day_scroll_box	{
	width: 616px;
	float: left;
	position: relative;
	border-bottom: 1px solid #ccc;
	margin-bottom: 1px;
}

#forecast .scrollable {
  position:relative;
  overflow: visible;
  width: 300px;
  height:40px;
  float: right;
}

#forecast .scrollable .items {
  /* this cannot be too large */
  width:20000em;
  position:absolute;
}

#forecast .overview .weather_data_scroll {
  position:relative;
  overflow:hidden;
  width: 450px;
  height:380px;
  float: left;
}

#forecast .hour_by_hour .weather_data_scroll {
  position:relative;
  overflow:hidden;
  width: 616px;
  float: left;
}

#forecast .weather_data_scroll .items {
  /* this cannot be too large */
  width:20000em;
  position:absolute;
}

#forecast .weather_data_scroll .items li.item {
  width: 152px;
  float: left;
}

#forecast .hour_by_hour .weather_data_scroll .items li.item {
	width: 616px;;
	float: left;
}

#forecast .scroll_overflow_hide	{
	width: 614px;
	position: relative;
	height: 38px;
	float: left;
	overflow: hidden;
}

#forecast .day_grayout	{
	position: absolute;
	height: 38px;
	background-color: rgba(255,255,255,.85);
	z-index: 1790;
}

#forecast .day_grayout.left	{
	left: 0;
	top: 0;
	width: 315px;
}

#forecast .day_grayout.right	{
	right: 0;
	top: 0;
	width: 153px;
}

#forecast .forecast_footer	{
	float: left;
	clear: left;
	width: 616px;
}

#forecast .forecast_footer .provider_logo	{
	float: left;

	height: 35px;
	width: 140px;
	overflow: hidden;
	margin: 0 0 0 10px;
}

#forecast .forecast_footer .provider_logo img	{
	float: left;
	max-height: 35px;
}

#weather_graph_widget {
  background-image: linear-gradient(bottom, rgb(255,255,255) 37%, rgb(247,247,247) 65%);
  background-image: -o-linear-gradient(bottom, rgb(255,255,255) 37%, rgb(247,247,247) 65%);
  background-image: -moz-linear-gradient(bottom, rgb(255,255,255) 37%, rgb(247,247,247) 65%);
  background-image: -webkit-linear-gradient(bottom, rgb(255,255,255) 37%, rgb(247,247,247) 65%);
  background-image: -ms-linear-gradient(bottom, rgb(255,255,255) 37%, rgb(247,247,247) 65%);

  background-image: -webkit-gradient(
    linear,
    left bottom,
    left top,
    color-stop(0.37, rgb(255,255,255)),
    color-stop(0.65, rgb(247,247,247))
  );
}

#drop_shadow_border {
  -moz-box-shadow: 1px 1px 5px #888;
  -webkit-box-shadow: 1px 1px 5px #888;
  box-shadow: 1px 1px 5px #888;
  margin-bottom:20px;
}