/******************************************************************************
 * Style resets
 */
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td { 
	margin:0;
	padding:0;
}
table {
	border-collapse:collapse;
	border-spacing:0;
}
fieldset,img { 
	border:0;
}
address,caption,cite,code,dfn,th,var {
	font-style:normal;
	font-weight:normal;
}
ol,ul {
	list-style:none;
}
caption,th {
	text-align:left;
}
h1,h2,h3,h4,h5,h6 {
	font-size:100%;
	font-weight:normal;
}
q:before,q:after {
	content:'';
}
abbr,acronym {
	border:0;
}
form {
	display: inline; 
}




/******************************************************************************
 * Global fixes
 */
/* Align checkboxes with their labels in firefox */
input[type=checkbox],
input[type=radio] {
	vertical-align: middle;
}




/******************************************************************************
 * Global utility classes
 */
.left {float:left !important;}
.center {text-align: center;}
.right {float:right !important;}
.leftAlign {text-align: left !important;}
.rightAlign {text-align: right !important;}
.vMiddleAlign {vertical-align: middle !important;}
.required {color:#FF0000;}
.indent { margin-left: 2em; }
.vindent { margin-top: 1em; }
.padded { padding: 1em; }
.subtext { font-size: .8em; }
.noWrap { white-space: nowrap; }
.canWrap { white-space: normal; }
.clear { clear: both; }
input.fill, select.fill, textarea.fill {width: 99%;}

.thinput { display: inline; font-size: .8em; }
.thinput input, .thinput select, .thinput button { font-size: .9em; }
.thinput a { font-weight: bold; }



/******************************************************************************
 * Global info pop color settings
 */
.info {
    border: 1px solid #C3D9FF;
	background-color: #E8EEF7;
}
.error_message,
.errorExplanation,
.error,
.fieldWithErrors {
	border: 1px solid #FF0000;
	background-color: #FF9999;
}
.notice,
.warning,
#flashMessage {
	border: 1px solid #FFCC33;
	background-color: #FFFF99;
}




/******************************************************************************
 * Global info pop format settings
 */
.flash,
#flashMessage {
	-moz-border-radius: .25em;
	-webkit-border-radius: .25em;
	font-weight: bold;
	padding: .1em;
	text-align: center;
}
.errorExplanation,
.box {
	height: 1%; /* IE 6 hasLayout */
	text-align: left;
	
	font-weight: bold;
	font-size: 10pt;
	
	background-repeat: no-repeat;
	background-position: 10px 10px;
	
	padding: 10px 10px 10px 36px;
}
.info.box {
	background-image: url(../images/info.gif);
}
.errorExplanation,
.error.box {
	background-image: url(../images/error.gif);
}
.notice.box,
.warning.box {
	background-image: url(../images/warning.gif);
}

.errorExplanation h2 { font-weight: bold; margin-bottom: 1em; }
.errorExplanation ul, .errorExplanation li { margin-left: 1em; list-style: disc;}

.fieldWithErrors {display: inline;border-width:2px;}


/******************************************************************************
 * Global font and color settings
 */
body {
    background-color: #FFFFFF;
    color: #000000;
}
body, p, td {
    font-family: arial, sans-serif;
}

a, a:visited, a:active {
	color: #0000DD;
}

strike {
	color: #888888;
}


/********
 * Main site
 */
body.www {
  font-size: 90%;
  margin-top: 1em;
  margin-bottom: 2em;
}

body.www .banner_outer
{
	margin-top: 10px;
	background-color:#E8EEF7;
	border-bottom:1px solid #C8CED7;
	border-top:1px solid #C8CED7;
}

body.www #header,
body.www .banner_inner,
body.www #body,
body.www #footer
{
	width: 950px;
	margin-left: auto;
	margin-right: auto;
}
body.www h1 {
  font-size: 1.7em;
  font-weight: bold;
  border-bottom: 3px solid #62B140;
  margin: 20px 0 5px 0;
}
body.www h2 {
  font-size: 1.3em;
  font-weight: bold;
  margin: 15px 0 0 0;
}
body.www h3 {
  font-size: 1.1em;
  font-weight: bold;
  margin: 10px 0 0 0;
}
body.www h4 {
  font-size: 1.1em;
  font-style: italic;
}
body.www p {
  margin: 15px 0;
}
body.www ol {
  list-style-type: decimal;
  margin: 1em 0;
  padding-left: 40px;
}
body.www ul {
  list-style-type: disc;
  margin: 1em 0;
  padding-left: 40px;
}
body.www dl {
  margin: 1em 0;
  padding-left: 40px;
}
body.www dd {
  padding-left: 40px;
}
body.www table.col2 {
  width: 100%;
}
body.www table.col2 td {
  vertical-align: top;
  padding: 0 1em 1em 0;
}
body.www table.col2 table td {
  padding: .2em;
}
body.www table.center {
  margin-left: auto;
  margin-right: auto;
}
body.www table.pricing {
  border-collapse: collapse;
}
body.www table.pricing th {
  font-weight: bold;
  font-size: 1.5em;
  border-bottom: 5px solid #62B140;
  text-align: center;
}
body.www table.pricing th a {
  color: #0000AA;
  text-decoration: none;
  padding: .25em .75em;
  display: block;
  text-decoration: underline;
}
body.www table.pricing th a:hover {
  color: #0000DD;
}
body.www table.pricing td {
  border: 1px solid #888;
  border-top: 2px solid #62B140;
  padding: 1em;
  text-align: center;
  white-space: nowrap;
  background: #F9F9F9 url(../images/gradient_grey_20.gif) repeat-x scroll center bottom;
}
body.www table.pricing .church_size {
	color: #666;
}
body.www table.pricing .service_price {
	font-size: 1.2em;
}
body.www table.pricing .separator {
	background: none;
	border: none;
	padding: 0;
	margin: 0;
}
body.www .highlight,
body.landing .highlight {
  background-color: #ffff80;
}
body.www .center {
  text-align: center;
}
body.landing .button,
body.landing a.button:visited,
body.landing a.button:active,
body.www .button,
body.www a.button:visited,
body.www a.button:active {
/*  -moz-border-radius: .5em; bg image with curved borders breaks in ff2 */
  -webkit-border-radius: .5em;
  margin-left: auto;
  margin-right: auto;
  border: 2px outset #62B140;
  display: block;
  padding: .75em 2em;
  font-size: 1.4em;
  font-weight: normal !important; /* Make sure we're normal weight, so our text doesn't wrap */
  cursor: pointer;
  background: #62B140 url(../images/button_bg.gif) center top no-repeat;
  color: white;
  text-decoration: none;
  width: 250px; 
  white-space: nowrap;
  text-align: center;
}
.button {
  margin-top: 1em;
  margin-bottom: 1em;
}
.button .subtext {
	font-size: 11pt;
	font-weight: normal;
	margin-right: -2em;
	margin-left: -2em;
	white-space: nowrap;
	display: block;
}
body.www .headline {
  font-size: 1.4em;
}
body.www .quotes {
  margin-top: 15px;
  margin-bottom: 15px;
  padding: 0em .5em;
  font-size: .9em;
  -moz-border-radius: .5em;
  -webkit-border-radius: .5em;
  background-color: #FFFFB0;
  border: 2px solid #FFEE88;
}
body.www .quotes p {
	margin: 15px 0px;
	padding-left: 27px;
	background: url(../images/quote.gif) no-repeat top left;
	font-family: arial,sans-serif;
}

body.www #header table {
	width: 100%;
}
body.www #header td {
	vertical-align: middle;
}
body.www #logo {
}
body.www #header span.separator,
body.www #footer span.separator {
	padding: 0 1em;
}

body.www .return_container {
	margin-right: -475px;
	font-size: .9em;
}
body.landing .return_container {
	margin-right: -410px;
	font-size: .8em;
}
.return_container {
	text-align: right;
	position: absolute;
	top: 0;
	font-weight: bold;
	right: 50%;
	padding: .3em 1em;
	-moz-border-radius: 0 0 3px 3px;
	-webkit-border-bottom-left-radius: 3px;
	-webkit-border-bottom-right-radius: 3px;
	background: #F9F9F9 url(../images/gradient_grey_20.gif) repeat-x scroll center bottom;
	border-color: #E0E0E0;
	border-style: solid;
	border-width: 0 1px 1px 1px;
}

body.www #footer,
body.landing .content-footer {
  margin-top: 2em;
  margin-bottom: 2em;
  text-align: center;
  color: #AAAAAA;
  font-size: .9em;
}
body.www #footer {
  border-top: 1px dotted #AAAAAA;
  padding-top: 1em;
}
body.www #footer a,
body.landing .content-footer a {
  color: #4444DD;
}

body.www strong.legal {
  font-weight: normal;
  font-variant: small-caps;
}

body.www fieldset {
  border: 1px solid gray;
  -moz-border-radius: .25em;
  -webkit-border-radius: .25em;
}
body.www legend {
  font-size: .9em;
  font-style: italic;
}
body.www table.ledger,
body.www table.ledger td,
body.www table.ledger th {
  border: 1px solid darkgray;
  padding: 0.2em;
}
body.www table.ledger {
  margin-top: 15px;
}
body.www table.ledger td {
  background-color: lightgrey;
}
body.www table.ledger th {
  background-color: gray;
  font-weight: bold;
}

/********
 * Landing page
 */
body.landing {
  background-color: white;
  margin-bottom: 2em;
}


body.landing #header,
body.landing .content-top,
body.landing .content-middle,
body.landing .content-bottom
{
	width: 100%;
}


body.landing .container {
  width: 750px;
  margin-left: auto;
  margin-right: auto;
  padding: 1.5em 2em;
}


body.landing #header .container {
	padding-top: 1em;
	padding-bottom: 1em;
}


body.landing .content-top {
  background-color: #FFFFB0;
  border-top: 1px solid #FFEE88;
  border-bottom: 1px solid #FFEE88;
}
body.landing .content-top .container {
  color: black;
  text-align: center;
}
body.landing .content-top .container p {
  font-size: 1.6em;
}


body.landing .content-middle {
  background-color: white;
	background: url(../images/bg.jpg) center top no-repeat;
  color: darkslategray;
}
body.landing .content-middle .container {
  padding-top: 1em;
  padding-bottom: 1em;
  margin-top: 1em;
  margin-bottom: 1em;
}


body.landing .content-bottom {
  background-color: #669966;
  border-top: 2px outset #669966;
  border-bottom: 2px outset #669966;
}
body.landing .content-bottom .container {
  text-align: center;
}


body.landing .content-footer .container {
  padding: 0;
}


body.landing h2 {
  font-size: 1.7em;
}
body.landing ul {
  margin-top: 1em;
  margin-bottom: 1em;
}
body.landing .content-middle a {
  font-weight: bold;
}
body.landing li {
  margin-top: .75em;
  margin-bottom: .75em;
}


/********
 * Product tour section
 */
img.thumb {
	border: 2px solid #00F;
	margin: 10px;
	display: inline-block;
	width: 110px;
	height: 110px;
	overflow: hidden;
}

/********
 * About page
 */

.description_box {
  background-color: #E8EEF7;
  border: 1px solid #a3b9dF;
  padding: 0 10px 0 10px;
}
