/* --------------------------------------------------------------------------------------------------------
AUTHOR:			Ryan Marincovich
DATE CREATED:	2007.03.16
PURPOSE:		Base Style sheet for St Paul Classic Bike Tour
REVISIONS:
-------------------------------------------------------------------------------------------------------- */

/* widths and heights to change for new client
	#table_main								width: 770px;					--> width of entire site with shadows
	#table_body								width: 770px;					--> width of main content between shadows
	#table_footer							height: 60px;					--> total height of footer including 'powered by venyou' text
	#main_container							width: 770px;					--> width of div container for main window
	* all column containers with left margins
	.column_content_image					margin: 30px 0px 0px 0px;		--> top margin for all content in site, minus 3px for text version
	.column_content_text					margin: 27px 0px 0px 0px;		--> top margin for all content in site, minus 3px for text version
	.text_area_section_image				width: 300px;					--> width of area to the side of a section image where text either wraps
																				or is highlighted for event information.  need width for section headers
																				and background color.
	.links_text_wthumb						width: 470px;					--> width of text block in links row if there is a thumb image
	* all form field widths													--> contact section form field and label widths must be set
*/

/* FONT DEFINITIONS */
table, tr, td {
	font-family: Verdana, Helvetica, sans-serif; 
	font-size: 11px;
}

/* UNIVERSAL IMAGE DEFS */
img.float_left {
	border: 0px;
	float: left;
}

img.float_right {
	border: 0px;
	float: right;
}

/* Used for featured blocks or anywhere the thumb floats in text */
img.thumb_left {
	border: 0px;
	margin: 4px 10px 6px 10px;
	padding: 0px;
	float: left;
	display: inline;
}

img.thumb_right {
	border: 0px;
	margin: 4px 0px 6px 10px;
	padding: 0px;
	float: right;
	display: inline;
}

/* This section image is at the top with a text header, so must have top margin */
img.section_image_text {
	border: 0px;
	margin: 4px 0px 11px 15px;
	padding: 0px;
	float: right;
	display: inline;
}

/* This section image is at the top with no text header, no top margin */
img.section_image {
	border: 0px;
	margin: 0px 0px 11px 15px;
	padding: 0px;
	float: right;
	display: inline;
}

form.no_margin {
	margin: 0px;
	padding: 0px;
	float: left;
}

img.left_logo {
	margin: 15px 0px 0px 0px;
	padding: 0px;
	float: left;
	display: inline;
}

/* LINK DEFINITIONS */
a { font-weight: bold; text-decoration: underline; color: #cc0000; }
a:visited { font-weight: bold; text-decoration: underline; color: #cc0000; }
a:hover { font-weight: bold; text-decoration: none; color: #cc0000; }
a:active { font-weight: bold; text-decoration: none; color: #cc0000; }

a.footer { font-weight: normal; text-decoration: underline; color: #cccccc; }
a.footer:visited { font-weight: normal; text-decoration: underline; color: #cccccc; }
a.footer:hover { font-weight: normal; text-decoration: none; color: #cccccc; }
a.footer:active { font-weight: normal; text-decoration: none; color: #cccccc; }

a.featured { font-weight: bold; text-decoration: underline; color: #cc0000; }
a.featured:visited { font-weight: bold; text-decoration: underline; color: #cc0000; }
a.featured:hover { font-weight: bold; text-decoration: none; color: #cc0000; }
a.featured:active { font-weight: bold; text-decoration: none; color: #cc0000; }

a.left { font-weight: bold; text-decoration: none; color: #333399; float: left; }
a.left:visited { font-weight: bold; text-decoration: none; color: #333399; float: left; }
a.left:hover { font-weight: bold; text-decoration: underline; color: #333399; float: left; }
a.left:active { font-weight: bold; text-decoration: underline; color: #333399; float: left; }

a.right { font-weight: bold; text-decoration: none; color: #333399; float: right; }
a.right:visited { font-weight: bold; text-decoration: none; color: #333399; float: right; }
a.right:hover { font-weight: bold; text-decoration: underline; color: #333399; float: right; }
a.right:active { font-weight: bold; text-decoration: underline; color: #333399; float: right; }

a.head { font-weight: bold; text-decoration: underline; color: #cc0000; float: right; }
a.head:visited { font-weight: bold; text-decoration: underline; color: #cc0000; float: right; }
a.head:hover { font-weight: bold; text-decoration: none; color: #cc0000; float: right; }
a.head:active { font-weight: bold; text-decoration: none; color: #cc0000; float: right; }

a.foot { font-weight: bold; text-decoration: underline; color: #ffffff; float: right; }
a.foot:visited { font-weight: bold; text-decoration: underline; color: #ffffff; float: right; }
a.foot:hover { font-weight: bold; text-decoration: none; color: #ffffff; float: right; }
a.foot:active { font-weight: bold; text-decoration: none; color: #ffffff; float: right; }

a.right_col { margin: 5px 0px 0px 0px; font-weight: bold; text-decoration: underline; color: #ffffff; }
a.right_col:visited { margin: 5px 0px 0px 0px; font-weight: bold; text-decoration: underline; color: #ffffff; }
a.right_col:hover { margin: 5px 0px 0px 0px; font-weight: bold; text-decoration: none; color: #ffffff; }
a.right_col:active { margin: 5px 0px 0px 0px; font-weight: bold; text-decoration: none; color: #ffffff; }

/* MAIN ERROR DEFS */
.textError {
	width: 100%;
	font-size: 11px;
	font-weight: bold;
	color: #CC0000;
	margin: 0px;
	padding: 0px;
	background-color: #ffeeee;
	float: left;
	display: inline;
}
.textError h1 {
	padding: 10px;
	font-size: 18px;
	font-weight: bold;
	color: #000000;
	float: left;
}
.textError ul {
	margin: 0px;
	padding: 5px 10px 5px 30px;
	float: left;
}

.textError a { padding: 10px; float: left; }

.textErrorSmall {
	font-size: 11px;
	padding: 5px;
	color: #CC0000;
}

#table_header {
	width: 100%;
	margin: 0px;
	padding: 0px;
	vertical-align: top;
}

#table_footer {
	width: 100%;
	height: 76px;
	margin: 0px;
	padding: 0px;
	vertical-align: top;
}

/* --------------------------- BODY DEFS ----------------------------------- */
#main_container {
	width: 770px;
	height: 100%;
	margin: 0px;
	padding: 0px;
	float: left;
	background: url(/_images/framework/bg_main_top.gif) left top no-repeat;
}

/* section image with text wrapping around it */
.text_area_section_image {
	width: 195px;
	margin: 0px;
	padding: 0px;
	float: left;
	display: inline;
}

/* container for multiple page images with text wrapping around it */
.text_area_mult_image_container {
	width: 215px;
	margin: 0px;
	padding: 0px;
	float: right;
	display: inline;
}

.text_block {
	width: 100%;
	margin: 0px;
	padding: 0px 0px 16px 0px;
	float: left;
	display: inline;
}

.text_column_half {
	width: 50%;
	margin: 0px;
	padding: 0px;
	float: left;
}

.text_column_left {
	margin: 0px;
	padding: 0px 10px 0px 0px;
	float: left;
	display: inline;
}

.text_column_right {
	width: 100%;
	margin: 0px;
	padding: 5px 0px 12px 0px;
	text-align: center;
	float: left;
	display: inline;
}

.text_block_centered {
	width: 100%;
	text-align: center;
	margin: 0px;
	padding: 0px 0px 16px 0px;
	float: left;
	display: inline;
}

/* --------------------------- COLUMN CONTAINERS FOR BUILD PAGE ----------------------------------- */
.container_full {
	width: 100%;
	margin: 0px;
	padding: 0px;
	float: left;
}

.container_left_column {
	width: 140px;
	margin: 0px;
	padding: 0px;
	float: left;
	display: inline;
}

.container_middle_column {
	width: 410px;
	margin: 0px 0px 0px 20px;
	padding: 0px;
	float: left;
	display: inline;
}

.container_right_column {
	width: 160px;
	margin: 0px;
	padding: 0px;
	float: right;
}

.container_right_column_home {
	width: 160px;
	margin: 45px 0px 0px 0px;
	padding: 0px;
	float: right;
}

.container_centered_column {
	width: 570px;
	margin: 0px 0px 0px 105px;
	padding: 0px;
	float: left;
	display: inline;
}

.container_column_wleft {
	width: 570px;
	margin: 0px 0px 0px 20px;
	padding: 0px;
	float: left;
	display: inline;
}

.container_column_wright {
	width: 570px;
	margin: 0px 0px 0px 20px;
	padding: 0px;
	float: left;
	display: inline;
}

.container_column_wright_home {
	width: 610px;
	margin: 0px;
	padding: 0px;
	float: left;
	display: inline;
}

/* --------------------------- COLUMN CONTAINERS FOR EVERY PAGE, WITH TOP MARGIN ----------------------------------- */
/*	
	These two containers are used to control the top margin on a page.  One if there is an image, and one if there is text.
	If there is text at the top of the page, it must be offset to allow for natural text padding.  There are also defs then for
	an image if it's at the top with the text...must have a top margin. (see top of page img.section_image and img.section_image_text)
*/
.column_content_image {
	width: 100%;
	margin: 20px 0px 0px 0px;
	padding: 0px 0px 20px 0px;
	float: left;
	display: inline;
}

.column_content_text {
	width: 100%;
	margin: 16px 0px 0px 0px;
	padding: 0px 0px 20px 0px;
	float: left;
	display: inline;
}

.column_content_image_home {
	width: 100%;
	margin: 15px 0px 0px 0px;
	padding: 0px 0px 20px 0px;
	float: left;
	display: inline;
}

.column_content_text_home {
	width: 100%;
	margin: 11px 0px 0px 0px;
	padding: 0px 0px 20px 0px;
	float: left;
	display: inline;
}

/* --------------------------- MODULE DEFS ----------------------------------- */
.module_right_col {
	width: 159px;
	margin: 0 0 0 1px;
	padding: 0 0 10px 0;
	text-align: center;
	float: left;
	display: inline;
	background: #fff;
}
.module_right_col p {
	width: 135px;
	margin: 0 0 0 12px;
	padding: 10px 0 0 0;
	float: left;
	display: inline;
}
.module_right_col p img {
	margin: auto;
	display: block;
}
.module_right_col p.link {
	width: 140px;
	margin: 10px 0 0 10px;
	padding: 6px 0 7px 0;
	float: left;
	display: inline;
	text-align: center;
	background: #fff9e3;
}
.module_container {
	width: 100%;
	margin: 0px;
	padding: 0px;
	float: left;
	background: url(/_images/home/bg_home_mod.gif) top left repeat-y;
}

.module_header {
	width: 100%;
	margin: 0px;
	padding: 0px;
	float: left;
}

.module_col {
	width: 195px;
	margin: 0px;
	padding: 0px;
}

.module_row {
	width: 100%;
	margin: 0px;
	padding: 0px;
	float: left;
	display: inline;
}

.module_row_white {
	width: 100%;
	margin: 0px;
	padding: 0px;
	float: left;
	display: inline;
	background: #ffffff;
}

.module_row_alt {
	width: 100%;
	margin: 0px;
	padding: 0px;
	float: left;
	display: inline;
	background: #fff9e3;
}

.module_content {
	margin: 6px 0px 0px 0px;
	padding: 0px 10px 8px 10px;
	float: left;
	display: inline;
}

.module_content_center {
	width: 100%;
	height: 25px;
	margin: 0px;
	padding: 0px;
	text-align: center;
	float: left;
	background: url(/_images/headers/module-bottom.gif) top left no-repeat;
}
.module_content_center p {
	margin: 0px;
	padding: 3px 0px 0px 0px;
}
.module_content_center a { color: #063; }
.module_footer {
	 width: 100%;
	 margin: 0px;
	 padding: 0px;
	 float: left;
}
.media-container {
	width: 100%;
	margin: 20px 0 0 0;
	padding: 0;
	float: left;
	background: url(/_images/framework/bg-mod-media.gif) top left repeat-y;
}
.media-top {
	width: 100%;
	margin: 0;
	padding: 0;
	float: left;
	background: url(/_images/framework/bg-mod-media-head.gif) top left no-repeat;
}
.media-top ul {
	width: 128px;
	padding: 2px 6px 8px 6px;
	margin: 0;
	float: left;
	display: inline;
	background: url(/_images/framework/bg-mod-media-foot.gif) bottom left no-repeat;	
}
.media-top ul li {
	padding: 8px 0 0 8px;
	float: left;
	display: inline;
}
/* --------------------------- HOME DEFS ----------------------------------- */
.container_home_image {
	width: 100%;
	margin: 0px;
	padding: 0px;
	float: left;
}

.container_home_left {
	width: 140px;
	margin: 0px 0px 0px 20px;
	padding: 0px;
	float: left;
	display: inline;
}

.container_home_featured {
	width: 410px;
	margin: 0px 0px 0px 20px;
	padding: 0px 0px 20px 0px;
	float: left;
	display: inline;
}

.container_home_flash {
	width: 610px;
	height: 300px;
	margin: 0px 0px 5px 0px;
	padding: 0px;
	float: left;
}
.home-share {
	width: 87px;
	height: 32px;
	padding: 4px 0 8px 10px;
	float: right;
	display: inline;
}
/* --------------------------- PAGE HEADER DEFS ----------------------------------- */
.page_header_image {
	width: 100%;
	height: 28px;
	margin: 12px 0px 0px 0px;
	padding: 0px;
	float: left;
	display: inline;
}

.page_header {
	width: 100%;
	margin: 0px 0px 11px 0px;
	padding: 0px 0px 0px 0px;
	font-weight: bold;
	float: left;
	display: inline;
}

.page_header h1 {
	width: 99%;
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 3px 0px;
	color: #000000;
	font-size: 15px;
	line-height: 18px;
	float: left;
}

.page_header h2 {
	width: 99%;
	margin: 0px;
	padding: 0px;
	color: #000000;
	font-size: 14px;
	float: left;
}

.page_header_full {
	width: 100%;
	height: 38px;
	margin: 7px 0px 0px 0px;
	padding: 0px;
	float: left;
	display: inline;
}

.page_header_full span {
	margin: 3px 0px 0px 19px;
	float: left;
	display: inline;
}
.page_header_link {
	width: 300px;
	margin: 0px 178px 0px 0px;
	padding: 0px;
	float: right;
	display: inline;
}
.page_header_text_link {
	margin: 0px;
	padding: 7px 0 0 0;
	float: right;
}
.page_header_text_divider {
	margin: 0px;
	padding: 7px 8px 0 8px;
	float: right;
	display: inline;
	color: #999999;
}
.page_subheader {
	width: 100%;
	margin: 0px;
	padding: 5px 0px 5px 0px;
	color: #ffffff;
	font-weight: bold;
	float: left;
	display: inline;
	background: #063;
}

.page_subheader span {
	margin: 0px 0px 0px 10px;
	float: left;
	display: inline;
}

.page_subheader_gallery {
	margin: 2px 0px 0px 10px;
	font-size: 15px;
	float: left;
	display: inline;
}

.page_subheader_dropdown {
	margin: 0px 10px 0px 0px;
	padding: 0px;
	float: right;
}

.page_subheader_content {
	width: 100%;
	margin: 6px 0px 0px 0px;
	padding: 0px 0px 9px 0px;
	float: left;
	display: inline;
}

/* --------------------------- EVENTS SECTION DEFS ----------------------------------- */
.schedule_time {
	width: 65px;
	margin: 0px 0px 0px 10px;
	padding: 0px;
	font-weight: bold;
	text-align: right;
	float: left;
	display: inline;
}

.schedule_details {
	width: 315px;
	margin: 0px 0px 0px 10px;
	padding: 0px;
	float: left;
	display: inline;
}

.schedule_content_block {
	width: 100%;
	margin: 15px 0px 0px 0px;
	padding: 0px;
	float: left;
	display: inline;
}
.schedule_content_block ul {
	margin-top: 10px;
	margin-bottom: 0px;
	padding-top: 0px;
	padding-bottom: 0px;
}

.sponsors_container {
	width: 100%;
	margin: 0px;
	padding: 0px 0px 20px 0px;
	float: left;
	display: inline;
}
.sponsor_row {
	width: 100%;
	margin: 10px 0px 0px 0px;
	padding: 0px;
	float: left;
	display: inline;
}

.sponsor_image {
	width: 135px;
	height: 135px;
	margin: 0px;
	padding: 0px;
	float: left;
}

.sponsor_image_pad {
	width: 135px;
	margin: 0px 0px 0px 10px;
	padding: 0px;
	float: left;
	display: inline;
}

.sponsor_text {
	width: 275px;
	margin: 0px;
	padding: 0px;
	float: left;
}

.sponsor_text_pad {
	width: 275px;
	margin: 0px 0px 0px 20px;
	padding: 0px;
	float: left;
	display: inline;
}

.faq_questions {
	width: 100%;
	margin: 0px;
	padding: 0px 0px 30px 0px;
	float: left;
	display: inline;
}

.faq_question_number {
	width: 20px;
	margin: 0px;
	padding: 0px;
	font-weight: bold;
	float: left;
}

.faq_question_text {
	width: 390px;
	margin: 0px;
	padding: 0px;
	font-weight: bold;
	float: left;
}

.volunteer_date {
	width: 150px;
	margin: 0px 0px 0px 10px;
	padding: 3px 0px 3px 0px;
	float: left;
	display: inline;
}

.volunteer_time {
	width: 140px;
	margin: 0px;
	padding: 3px 0px 3px 0px;
	float: left;
	display: inline;
}

.volunteer_location {
	width: 210px;
	margin: 0px;
	padding: 3px 0px 3px 0px;
	float: left;
	display: inline;
}

.volunteer_signup {
	width: 60px;
	margin: 0px;
	padding: 3px 0px 3px 0px;
	float: left;
	display: inline;
}

/* --------------------------- GALLERY SECTION DEFS ----------------------------------- */
#gallery {
	float: left;
	width: 410px;
}

.gallery_module_container {
	width: 100%;
	margin: 4px 0px 0px 0px;
	padding: 0px;
	float: left;
	display: inline;
}

.current_photo_col {
	width: 350px;
	margin: 10px 0px 0px 0px;
	padding: 0px;
	float: left;
	display: inline;
}

.thumbs_photo_col {
	width: 220px;
	margin: 10px 0px 0px 0px;
	padding: 0px;
	float: left;
	display: inline;
}

.current_photo_container {
	width: 340px;
	height: 340px;
	margin: 0px;
	padding: 0px;
	background: #000000;
	float: left;
}

.prev_next_image {
	width: 340px;
	margin: 10px 0px 0px 0px;
	text-align: center;
	float: left;
	display: inline;
}

.photo_credits {
	width: 340px;
	margin: 10px 0px 0px 0px;
	text-align: center;
	font-style: italic;
	float: left;
	display: inline;
}

.photo_thumb_row {
	width: 100%;
	margin: 0px;
	padding: 0px 0px 5px 0px;
	float: left;
	display: inline;
}

.photo_thumb_container {
	width: 45px;
	height: 40px;
	margin: 0px;
	padding: 0px;
	float: left;
	background: url(/_images/framework/bg_gallery_thumb.gif) top left no-repeat;
}

.photo_thumb_container_right {
	width: 40px;
	height: 40px;
	margin: 0px;
	padding: 0px;
	float: right;
	background: url(/_images/framework/bg_gallery_thumb.gif) top left no-repeat;
}

.thumb_page_container {
	width: 220px;
	margin: 5px 0px 0px 0px;
	padding: 3px 0px 5px 0px;
	text-align: center;
	float: left;
	display: inline;
	background: #ece8db;
}

/* --------------------------- PLEDGE SECTION DEFS ----------------------------------- */
.prizes_row {
	width: 100%;
	margin: 0px;
	padding: 0px 0px 20px 0px;
	float: left;
	display: inline;
}

.prizes_thumb {
	width: 145px;
	height: 135px;
	margin: 4px 0px 0px 0px;
	padding: 0px;
	float: left;
	display: inline;
}

.prizes_text_wthumb {
	width: 425px;
	margin: 0px;
	padding: 0px;
	float: left;
	display: inline;
}

/* --------------------------- LINKS SECTION DEFS ----------------------------------- */
.links_row {
	width: 100%;
	margin: 0px;
	padding: 0px 0px 6px 0px;
	float: left;
	display: inline;
}

.links_mod_container {
	width: 275px;
	margin: 0px;
	padding: 0px;
	float: left;
}

.links_thumb {
	width: 85px;
	height: 75px;
	margin: 4px 0px 0px 0px;
	padding: 0px;
	float: left;
	display: inline;
	background: url(/_images/framework/bg_thumb.gif) top left no-repeat;
}

.links_text_wthumb {
	width: 190px;
	margin: 0px;
	padding: 0px;
	float: left;
}

/* --------------------------- CONTACT SECTION DEFS ----------------------------------- */
.form_row {
	width: 100%;
	margin: 0px;
	padding: 0px 0px 5px 0px;
	float: left;
	display: inline;
}

.form_row_submit {
	width: 100%;
	margin: 0px;
	padding: 0px 0px 5px 0px;
	text-align: center;
	float: left;
	display: inline;
}

.form_label {
	width: 135px;
	margin: 0px;
	padding: 2px 0px 0px 0px;
	text-align: right;
	float: left;
	display: inline;
}

.form_label span {
	font-weight: bold;
}

.form_field_data {
	width: 420px;
	margin: 2px 0px 0px 15px;
	padding: 0px;
	float: left;
	display: inline;
}

.form_field_text {
	width: 240px;
	margin: 0px 0px 0px 15px;
	padding: 0px;
	float: left;
	display: inline;
}

.form_field_textarea {
	width: 420px;
	height: 150px;
	margin: 0px 0px 0px 15px;
	padding: 0px;
	float: left;
	display: inline;
}
.form_field_textarea_f2f {
	width: 420px;
	height: 80px;
	margin: 0px 0px 0px 15px;
	padding: 0px;
	float: left;
	display: inline;
}
.form_button {
	margin: 5px 0px 0px 15px;
	padding: 0px;
	float: left;
	display: inline;
}

.form_checkbox {
	width: 15px;
	height: 15px;
	margin: 2px 0px 0px 0px;
	padding: 0px;
	float: left;
	cursor: pointer;
}

.form_checkbox_label {
	width: 390px;
	margin: 1px 0px 0px 8px;
	padding: 0px;
	float: left;
	display: inline;
}

.checkbox_label {
	float: left;
	cursor: pointer;
}

/* --------------------------- UTILITIES SECTION DEFS ----------------------------------- */
.sm_bullet {
	width: 50px;
	margin: 0px;
	padding: 0px;
	float: left;
}

.sm_link {
	width: 220px;
	margin: 0px;
	padding: 0px;
	float: left;
}























