body {
	margin: 0;
	padding: 0;
	font-family: Georgia, "Times New Roman", Times, serif;
	font-size: 12px;
	color: #666;
	background: #ffffff;
}

a:link, a:visited { color: #000000; text-decoration: underline; font-weight: normal;} 
a:active, a:hover { color: #000000; text-decoration: none;}

p {
	margin: 10px 0;
	padding: 0px;
}

img {
	margin: 0px;
	padding: 0px;
	border: none;
}

td {
	padding: 0 12px;
}
.clear { clear: both; }

tr.grey td {
	background-color: #EEE;
}

/* green background */
tr.darker td {
	background-color: #d0d0d0;
}

h1 {
	clear: both;
	padding-bottom: 20px;
	margin: 0 0 15px;
	font-size: 22px;
	letter-spacing: 1px;
	color: #000000;
	background: url(images/h1_bg.jpg) left bottom no-repeat;	
}

#header_wrapper {
	width: 100%;
	height: 70px;
	margin: 0 auto;
	background: #19446a url(images/header_bg.jpg) repeat-x;
}

#header {
	width: 980px;
	margin: 0 auto;
	padding: 10px 0;
}

#header #site_logo {
	font-size: 40px;
	color: #ffffff;
}

/* menu */
/* ==========================================================================
   1. Base Menu Layout
   ========================================================================== */
#menu {
  position: fixed;
}

#menu ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

#menu li {
  margin: 0;
  padding: 0;
}

/* ==========================================================================
   2. Interactive Elements (Links & Labels)
   ========================================================================== */
#menu li a, 
#menu li label {
  display: block;
  padding: 10px;
  color: #919191;
  font-size: 14px;
  font-weight: normal;
  text-decoration: none;
  outline: none;
  cursor: pointer;
}

#menu li a:hover, 
#menu li label:hover {
  background-color: #bbd142;
}

#menu li .current {
  background-color: #ffffff;
}

/* ==========================================================================
   3. Submenu & Toggles
   ========================================================================== */
.has-submenu {
  position: relative;
}

#submenu-toggle {
  display: none;
}

.submenu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background-color: #d0d0d0;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
  white-space: nowrap; /* Forces text to stay on a single line */
}

.submenu li a {
  padding: 10px;
}

#submenu-toggle:checked ~ .submenu {
  display: block;
}

/* ==========================================================================
   4. Menu Arrow & Animations
   ========================================================================== */
#menu li label .menu-arrow {
  display: inline-block;
  vertical-align: middle;
  margin-left: 4px;
  font-size: 20px;
  transform-origin: center;
  transition: transform 0.2s ease;
}

#submenu-toggle:checked ~ label .menu-arrow {
  transform: rotate(180deg);
}
/* end of menu*/

/* end of header */

/* content */

#content_wrapper {
	clear: both;
	width: 980px;
	margin: 0 auto;
	background: #ffffff;
}

#content {
	width: 900px;
	padding: 20px;
	background: #ffffff;
}


#column_right {
	float: right;
	width: 640px; /* was 580 */
	line-height: 20px;
	background: #ffffff;
}

#column_right img {
	max-width: 640px; /* was 580 */
}

#column_left {
	float: left;
	width: 200px; /* was 278 */
}

#column_left div {
	background: #efefef url(images/side_column_divider.jpg) bottom repeat-x;
	border: 1px solid #e5e5e5;
	padding: 10px;
}

.mainSection {
	margin-bottom: 15px;
}

.offset_p {
	border-left: 10px solid #bbd142;
	padding-left: 20px;
}

.credit {
	text-align: right;
	color: #ccc;
}

.credit a {
	color: #999;
}

/* end of content

/* footer */

#footer_wrapper {
	width: 100%;
	margin: 0 auto;
	background: url(images/footer_bg.jpg) repeat-x;
}

#footer {
	width: 920px;
	padding: 30px;
	margin: 0 auto;
	color: #515251;
}

#footer a{
	text-decoration: none;
	color: #7a7a7a;
}
/* end of footer */

.weathersites-row {
  display: flex;             /* 1. Turns on Flexbox */
  justify-content: left;     /* 2. Centers the row horizontally */
  align-items: center;   	/* center the items vertically */
  gap: 10px;                 /* 3. Adds even space between images */
  flex-wrap: wrap;			 /* CRITICAL: Allows images to stack on mobile */
  padding: 10px;
}

.weathersites-row a {
  flex: 0 1 100px;         /* Don't grow, but can shrink, base size 100px */
  text-align: center;
  text-decoration: none;
}
.weathersites-row img {
  width: 100%;          /* Text image takes up 80% of the container width */
  max-width: 80px;      /* This keeps the ICON size consistent */
  height: auto;
  display: block;
  margin: 0 auto 8px;   /* Centers image and adds space below it */
  border-radius: 8px; 	/* Adjust the pixels for more or less curve */
  overflow: hidden;    	/* Ensures the image content doesn't "leak" past the corners */
}

.forecasts-row {
  display: flex;             /* 1. Turns on Flexbox */
  justify-content: left;     /* 2. Centers the row horizontally */
  align-items: flex-start;   /* Changed to start so text aligns better */
  gap: 20px;                 /* 3. Adds even space between images */
  flex-wrap: wrap;			 /* CRITICAL: Allows images to stack on mobile */
  padding: 20px;
}

.forecasts-row a {
  flex: 0 1 100px;         /* Don't grow, but can shrink, base size 100px */
  text-align: center;
  text-decoration: none;
}
.forecasts-row img {
  width: 100%;          /* Text image takes up 80% of the container width */
  max-width: 80px;      /* This keeps the ICON size consistent */
  height: auto;
  display: block;
  margin: 0 auto 8px;   /* Centers image and adds space below it */
  border-radius: 8px; 	/* Adjust the pixels for more or less curve */
  overflow: hidden;    	/* Ensures the image content doesn't "leak" past the corners */
}
.stacked-link {
  display: flex;          /* 1. Enable Flexbox */
  flex-direction: column; /* 2. Stack children vertically */
  align-items: center;    /* 3. Center the image and text horizontally */
  text-decoration: none;  /* 4. Optional: Remove the link underline */
  text-align: center;     /* 5. Ensures multi-line text stays centered */
}

.stacked-link img {
  margin-bottom: 8px;     /* 6. Add space between the image and text */
}
.stacked-link span {
  font-size: 16px;
  font-weight: bold;
}