/* This rule resets a core set of elements so that they will appear consistent across browsers. Without this rule, content styled with an h1 tag, for example, would appear in different places in Firefox and Internet Explorer because each browser has a different top margin default value. By resetting these values to 0, the elements will initially be rendered in an identical fashion and their properties can be easily defined by the designer in any subsequent rule. */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
}
/* The body is the outermost layout component and contains the visible page content. Setting properties for the body element will help to create consistent styling of the page content and more manageable CSS. Besides using the body element to set global properties, it is common to use the body element to set the background color of the page and create a centered container for the page content to display. */
body {
  background-color: #ffffff;
  color: #000000;
  font-family: Georgia, "Times New Roman", Times, serif;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  text-align: center; /* Centers the page content container in IE 5 browsers. */
}

/*************************************************/
/* CHANGE TEXT SIZE BASED ON SCREEN SIZE */
@media (max-width: 790px) {
    /*html {
        font-size: 100%;
    }*/
}
@media (max-width: 726px) {
    /*html {
        font-size: 85%;
    }*/
}
@media (max-width: 465px) {
    /*html {
        font-size: 75%;
    }*/
}

/*************************************************/
/* STYLE ALL P AND HEADING TAGS */
p, h1, h2, h3, h4, h5, h6 {
	padding: 7px;
    margin: 0px;
}
/* P TAGS */
p {
	color: #000000;
	font-size: 1em;
}
#content p {
	text-align: justify;
}
/* PAGE HEADINGS */
h1 { 
  font-size: 1.5em;
  color: #ffffff;
}
/* SUBTITLES */
h2 {
  font-size: 1.3em;
  color: #214a10;
}
h3 { 
  font-size: .7em;
  color: #214a10;
}
@media (max-width: 468px) {
	h3 { 
	  font-size: 1em;
	}
}
h4 { 
    color: #214a10;
	font-size: 1.2em;
}
h5 { 
  font-size: 1em;
  color: #214a10;
}
/* FOOTER COPYRIGHT TEXT */
h6 { 
	font-size: .8em;
  font-weight: normal;
  text-align: center;
  color: #666666;
}

/*************************************************/
/* DEFAULT WEBSITE LINKS */
/* Sets the style for unvisited links. */
a,  a:link, a:visited, a:focus {
  color: #214a10; text-decoration: underline; font-weight: normal !important;
}
/* Sets the style for links on mouseover. */
a:hover, a:active {
  color: #214a10; text-decoration: none; font-weight: normal !important;
}

/* FOOTER H6 LINKS */
/* Sets the style for unvisited links. */
h6 a,  h6 a:link, h6 a:visited, h6 a:focus {
  color: #666666; text-decoration: underline; display: inline-block;
}
/* Sets the style for links on mouseover. */
h6 a:hover, h6 a:active {
  color: #666666; text-decoration: none; display: inline-block;
}

/*************************************************/
/* TOP NAVIGATION HIGHLIGH OPEN PAGE */
.current {
  color: #aaaaaa;
  background-color: transparent !important;
}

/*************************************************/
/* TEXT STYLES */
.body-text-small {
	font-size: .7em;
}
@media (max-width: 468px) {
	.body-text-small {
		font-size: 1em;
	}
}
.inline-text {
	display: inline-block;
}
.white {
	color: #ffffff;
}
.black {
	color: #000000;
}
.red-bold {
	font-size: 1em;
	font-weight: bold;
	color: #CC0033;
}
.green {
	color: #294e2c;
}
.green-bold {
	font-weight: bold;
	color: #214a10;
	font-size: .9em;
}
.cat-village {
	color: #989898;
}
.cat-firehouse {
	color: #ff7e00;
}
.cat-schoolhouse {
	color: #c50000;
}
.cat-library {
	color: #0080f8;
}
.separator {
	margin: 0 5px;
}
.list {
	text-indent:  -10px;
	padding: 7px 15px 7px 25px;
}
.centered {
	text-align: center !important;
}
.top-subheading {
color: #ffffff;
  font-weight: bold;
  font-size: 1.1em;
}
.formtable p {
	padding: 5px;
	font-size: .9em;
	text-transform: uppercase;
	text-align: left !important;
}
.formtable input, .formtable textarea, .formtable select {
	border: none;
	resize: none;
	background-color: #f8f8f8;
}
.padding-top-no-bottom {
	padding: 20px 7px 0px 7px;
}
.form {
	font-size: .8em;
	padding: 4px;
}
.side {
	text-align: left;
	padding: 0px;
    margin: 7px 5px 7px 8px;
}
.table {
	color: #000000;
	font-size: .95em;
	padding: 3px;
    margin: 3px;
	text-align: left;
}
.button {
	background-color: #1f1f1f !important;
	color: #ffffff;
	padding: 5px 25px;
	font-size: 1.1em;
	border: none;
}

/*************************************************/
/* ADDITIONAL STYLES */
hr {
	width: 90%; 
	text-align: center; 
	border: 0; 
	color: #dddddd; 
	background-color: #dddddd; 
	height: 1px;
}
.content-full-with-sidebar li, .content-full li
{
	font-size: 1em;
  padding: 2px 7px 2px 7px;
  margin: 0;
}

/*************************************************/

/* This is a container for the page content. It is common to use the container to constrain the width of the page content and allow for browser chrome to avoid the need for horizontal scrolling. For fixed layouts you may specify a container width and use auto for the left and right margin to center the container on the page. IE 5 browser require the use of text-align: center defined by the body element to center the container. For liquid layouts you may simply set the left and right margins to center the container on the page. */

/* DIV SURROUNDING ENTIRE WEBSITE */
#fullPageWrapper {
  margin: 0 auto;
  text-align: left;
  width: 100%;
   background-color: #ffffff;
  background-image: url(/images/background.jpg);
  background-repeat: repeat-x;
}
#fullPage {
  margin: 0 auto;
  text-align: left;
  width: 100%;
  position: relative;
}

/*************************************************/
/* HEADER */
#headerWrapper {
  background-color: #294e2c;
  width: 100%;
  padding: 0px 0px 0px 0px;
  margin: 0 auto;
}
#header {
	width: 100%;
	max-width: 1030px;
    padding: 0px 0px 0px 0px;
    margin: 0 auto;
}
@media (max-width: 823px) {
	#header h1 {
		font-size: 1.1em;
	}
}
@media (max-width: 630px) {
	#header img {
		display: block;
		margin: 0 auto;
	}
	#header h1 {
		text-align: center;
	}
}
.mobile-contact {
	display: none;
	background-color: #e1ebdd !important;
	color: #294e2c;
	padding: 10px;
	margin: 5px auto 0 auto;
	width: 125px;
	font-size: 1em;
	border: none;
	border-radius: 25px;
	text-align: center !important;
}
/* Sets the style for unvisited links. */
.mobile-contact a,  .mobile-contact a:link, .mobile-contact a:visited, .mobile-contact a:focus {
  color: #294e2c; text-decoration: none; font-weight: bold !important;
}
/* Sets the style for links on mouseover. */
.mobile-contact a:hover, .mobile-contact a:active {
  color: #294e2c; text-decoration: none; font-weight: bold !important;
}
@media (max-width: 575px) {
	.mobile-contact {
		display: block;
	}
}
#headerPrint {
	background-color: #ffffff;
  max-width: 1030px;
  float: left;
  padding: 0px 0px 0px 0px; /* Sets the padding properties for an element using shorthand notation (top, right, bottom, left) */
  display: none;
}

/*************************************************/
/* DIV TAG WRAPPING AROUND SIDEBAR, CONTENT, AND BOTTOM BOXES */
#contentWrapper {
  overflow: hidden;
  width: 100%;
  max-width: 1030px;
  margin: 0 auto;
  background-image: url(/images/container-bg.jpg);
  background-repeat: repeat-y;
}

/*************************************************/
/* CONTENT DEFAULT */
#contentWrapper #content {
  /*background-color: #ededed;*/
  background-color: #e1ebdd; /* now green */
  background-image: url(/images/contentWrapper_bg_right.jpg);
  background-repeat: repeat-y;
  background-position: top right;
  padding: 0;
  margin: 0 auto;
  max-width: 1000px;
  overflow: hidden;
}
@media (max-width: 575px) { /* SIDEBAR GOES TO BOTTOM */
	#contentWrapper #content {
	  background-image: none;
	}
}
#contentWrapper #content #content-2nd-background-image {
  background-color: #ffffff;
  background-image: url(/images/contentWrapper_bg_left.jpg);
  background-repeat: repeat-y;
  background-position: top left;
  overflow: hidden;
}
@media (max-width: 770px) { /* LEFT SIDEBAR BECOMES SLIDE OUT NAVIGATION */
	#contentWrapper #content #content-2nd-background-image {
	  background-image: none;
	}
}
/* CONTENT SUB AREAS */
.content-full {
  padding: 0;
  margin: 0;
  width: 100%;
}
.content-half {
  padding: 0;
  margin: 0;
  width: 50%;
  float: left;
}
@media (max-width: 600px) {
    .content-half {
		float: none;
		width: 100%;
	}
}
.content-25-percent {
  padding: 0;
  margin: 0;
  width: 25%;
  float: left;
}
@media (max-width: 600px) {
    .content-25-percent {
		width: 50%;
	}
}
@media (max-width: 400px) {
    .content-25-percent {
		float: none;
		width: 100%;
	}
}
.content-40-percent {
  padding: 0;
  margin: 0;
  width: 40%;
  float: left;
}
.content-60-percent {
  padding: 0;
  margin: 0;
  width: 60%;
  float: left;
}
@media (max-width: 600px) {
    .content-40-percent, .content-60-percent {
		float: none;
		width: 100%;
	}
}
.content-30-percent {
  padding: 0;
  margin: 0;
  width: 30%;
  float: left;
}
.content-70-percent {
  padding: 0;
  margin: 0;
  width: 70%;
  float: left;
}
@media (max-width: 600px) {
    .content-30-percent, .content-70-percent {
		float: none;
		width: 100%;
	}
}
.content-33-percent {
  padding: 0;
  margin: 0;
  width: 33.3%;
  float: left;
}
@media (max-width: 600px) {
    .content-33-percent {
		float: none;
		width: 100%;
	}
}
.content-no-percentage {
  padding: 0;
  margin: 0;
  float: left;
}

/*************************************************/
/* CONTENT WITH SIDEBAR */
#contentWrapper #content .content-full-with-sidebar {
  padding: 0;
  margin: 0 1%;
  width: 56%;
  float: left;
}
#gray-box, #gray-box2 {
  /*background-color: #ededed;*/
  background-color: #e1ebdd; /* now green */
  margin: 0;
  padding: 2% 2%;
  width: 96%;
}
#gray-box2 {
	border-bottom: solid 11px #ffffff;
}
@media (max-width: 1000px) { /* CONTENT AREA GETS SMALLER */
    #contentWrapper #content .content-full-with-sidebar {
		width: 55%;
	}
}
@media (max-width: 980px) { /* CONTENT AREA GETS SMALLER */
    #contentWrapper #content .content-full-with-sidebar {
		width: 54%;
	}
}
@media (max-width: 955px) { /* CONTENT AREA GETS SMALLER */
    #contentWrapper #content .content-full-with-sidebar {
		width: 52%;
	}
}
@media (max-width: 915px) { /* CONTENT AREA GETS SMALLER */
    #contentWrapper #content .content-full-with-sidebar {
		width: 49%;
	}
}
@media (max-width: 860px) { /* CONTENT AREA GETS SMALLER */
    #contentWrapper #content .content-full-with-sidebar {
		width: 46%;
	}
}
@media (max-width: 815px) { /* CONTENT AREA GETS SMALLER */
    #contentWrapper #content .content-full-with-sidebar {
		width: 43%;
	}
}
@media (max-width: 770px) {
    #contentWrapper #content .content-full-with-sidebar {
		width: 67%;
	}
}
@media (max-width: 730px) {
    #contentWrapper #content .content-full-with-sidebar {
		width: 63%;
	}
}
@media (max-width: 645px) {
    #contentWrapper #content .content-full-with-sidebar {
		width: 59%;
	}
}
@media (max-width: 575px) { /* SIDEBAR MOVES */
    #contentWrapper #content .content-full-with-sidebar {
		padding: 2%;
		margin: 0;
		width: 96%;
	}
}

/*************************************************/
/* SIDEBAR */
#contentWrapper #content .content-sidebar-left, #contentWrapper #content .content-sidebar-right {
  padding: 0;
  margin: 0;
  width: 20%;
  min-width: 207px;
  float: left;
  background-color: #e1ebdd;
}
#contentWrapper #content .content-sidebar-right {
	float: right;
}
.content-sidebar-part-1, .content-sidebar-part-2 {
  padding: 0;
  margin: 0;
  width: 207px;
  max-width: 207px;
  display: inline-block;
  vertical-align: top;
}
.side-box {
	padding: .6em 0;
	border-bottom: solid 5px #ffffff;
}
@media (max-width: 770px) { /* LEFT SIDEBAR BECOMES SLIDE OUT NAVIGATION */
	#contentWrapper #content .content-sidebar-left {
		display: none;
	}
}
@media (max-width: 575px) { /* SIDEBAR GOES TO BOTTOM */
    #contentWrapper #content .content-sidebar-right {
		padding: 0;
		  margin: 0 auto;
		  width: 100%;
		  max-width: 1000px;
		  background-color: #e1ebdd;
		  overflow: hidden;
		  text-align: center;
		  border-top: solid 11px #ffffff;
	}
	.content-sidebar-part-1, .content-sidebar-part-2 {
		padding: 0 2%;
		max-width: none;
		width: 95%;
	}
	.side-box {
		border-bottom: none;
	}
}

/*************************************************/
/* SIDE NAVIGATION MENU */
div#navbarside {
	margin: 0px;
	padding: 0px;
	width: 100%;
	min-width: 207px;
}
div#navbarside ul {
	margin: 0px;
	padding: 0px;
	font-size: 14px;
	color: #000000;
	line-height: 42px;
	width: 100%;
	min-width: 207px;
	text-indent: 8px;
	text-align: right;
	background-image: url(/images/line-nav.gif);
    background-repeat: no-repeat;
}
div#navbarside li {
	list-style-type: none;
	display: block;
	margin: 0px;
	padding: 0px;
}
/* LINK STYLES */
div#navbarside li a:link, div#navbarside li a:visited {
	text-decoration: none;
	margin: 0px;
	padding: 0px;
	color: #000000;
	display: block;
	width: 100%;
	min-width: 207px;
	text-align: right;
}
/* ROLLOVER STYLES */
div#navbarside li a:hover, div#navbarside li a:active {
	text-decoration: none;
	margin: 0px;
	padding: 0px;
	color: #aaaaaa;
	display: block;
	width: 100%;
	min-width: 207px;
	text-align: right;
}

/*************************************************/

div#navbarside2 {
	margin: 0px;
	padding: 0px;
	width: 100%;
	min-width: 207px;
}
div#navbarside2 ul {
	margin: 0px;
	padding: 0px;
	font-size: 12px;
	color: #000000;
	line-height: 10px;
	width: 100%;
	min-width: 207px;
	text-align: right;
}
div#navbarside2 li {
	list-style-type: none;
	display: block;
	margin: 0px;
	padding: 0px;
}
/* LINK STYLES */
div#navbarside2 li a:link, div#navbarside2 li a:visited {
	text-decoration: none;
	margin: 0px;
	padding: 3px 0px;
	color: #000000;
	display: block;
	width: 100%;
	min-width: 207px;
	text-align: right;
}
/* ROLLOVER STYLES */
div#navbarside2 li a:hover, div#navbarside2 li a:active {
	text-decoration: none;
	margin: 0px;
	padding: 3px 0px;
	color: #aaaaaa;
	display: block;
	width: 100%;
	min-width: 207px;
	text-align: right;
}

/*************************************************/

div#navbarside3 {
	margin: 0px;
	padding: 0px;
	width: 100%;
	min-width: 207px;
}
div#navbarside3 ul {
	margin: 0px;
	padding: 0px;
	font-size: 12px;
	color: #000000;
	line-height: 40px;
	width: 100%;
	min-width: 197px;
	text-align: left;
}
div#navbarside3 li {
	list-style-type: none;
	display: block;
	margin: 0px;
	padding: 0px;
}
/* LINK STYLES */
div#navbarside3 li a:link, div#navbarside3 li a:visited {
	text-decoration: none;
	margin: 0px;
	padding: 3px 0px;
	color: #000000;
	display: block;
	width: 100%;
	min-width: 197px;
	text-align: left;
}
/* ROLLOVER STYLES */
div#navbarside3 li a:hover, div#navbarside3 li a:active {
	text-decoration: none;
	margin: 0px;
	padding: 3px 0px;
	color: #aaaaaa;
	display: block;
	width: 100%;
	min-width: 207px;
	text-align: left;
}

/*************************************************/

div#navbarside4 {
	margin: 0px;
	padding: 0px;
	width: 100%;
	min-width: 207px;
}
div#navbarside4 ul {
	margin: 0px;
	padding: 0px;
	font-size: 12px;
	color: #000000;
	line-height: 40px;
	width: 100%;
	min-width: 197px;
	text-align: right;
}
div#navbarside4 li {
	list-style-type: none;
	display: block;
	margin: 0px;
	padding: 0px;
}
/* LINK STYLES */
div#navbarside4 li a:link, div#navbarside4 li a:visited {
	text-decoration: none;
	margin: 0px;
	padding: 3px 0px;
	color: #000000;
	display: block;
	width: 100%;
	min-width: 197px;
	text-align: right;
}
/* ROLLOVER STYLES */
div#navbarside4 li a:hover, div#navbarside4 li a:active {
	text-decoration: none;
	margin: 0px;
	padding: 3px 0px;
	color: #aaaaaa;
	display: block;
	width: 100%;
	min-width: 197px;
	text-align: right;
}

/*************************************************/
/* SLIDE IN/OUT NAVIGATION MENU */
.menu {
	width: 207px;
	height: 100%;
	position: absolute;
	background: #e1ebdd;
	left: -207px;
	transition: all .3s ease-in-out;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	-ms-transition: all .3s ease-in-out;
	-o-transition: all .3s ease-in-out;
}
.menu-icon {
	padding: 10px 20px;
	background: #e1ebdd;
	color: #294e2c;
	cursor: pointer;
	float: right;
	margin: 6px 6px 0 0;
	border-radius: 5px;
}
#menuToggle { display: none; }
#menuToggle:checked ~ .menu { position: absolute; left: 0; }
@media (min-width: 771px) { /* LEFT SIDEBAR BECOMES SLIDE OUT NAVIGATION */
	.menu-icon {
		display: none;
	}
}

/*************************************************/
/* PHOTO GALLERY PAGE */
.photo-gallery-wrapper {
	width: 100%;
	text-align: center;
}
.photo-gallery-thumb {
	width: 100px;
	padding: .5em;
	margin: .2em;
	display: inline-block;
	vertical-align: top;
	background-color: #ffffff;
	font-size: .7em;
}

/*************************************************/
/* CONTACT FORM TABLE */
.contact-form {
	min-width: 360px !important;
}

/*************************************************/
/* FULL PAGE WIDTH MAP */
#contentWrapper #mapWrapper {
	background-color: #eeeeee;
  width: 100%;
  padding: 0;
  margin: 0;
}
@media (max-width: 600px) {
    #contentWrapper #mapWrapper iframe {
		height: 200px !important;
	}
}

/*************************************************/
/* FOOTER */

#footerWrapper {
  background-color: #ffffff;
  padding: 0px 0px 0px 0px;
  margin: 0 auto;
  width: 100%;
  max-width: 1030px;
  background-image: url(/images/container-bg.jpg);
  background-repeat: repeat-y;
}
#footerWrapper #footer {
  background-color: #ffffff;
  padding: 0px 0px 0px 0px;
  margin: 0 auto;
  max-width: 1000px;
  width: 100%;
}


/*************************************************/
/* EXTRA CSS FOR WORDPRESS BLOG */
/* MOVE SITE DOWN TO ALLOW FOR ADMIN BAR */
/*body.admin-bar {
	margin-top: 32px;
}
body.admin-bar #headerWrapper {
	margin-top: 32px;
}*/