/**********************************************
General
*/

img
{
	border: none;
}

body
{
	font-family: "Lucida Grande",Verdana,Lucida,Helvetica,Arial,sans-serif;
	font-size: 10pt;
	background: url(Images/background.jpg) no-repeat;
}

input:focus, textarea:focus { background: #fbf9cb; }

a:focus
{
	background: #fbf9cb;
}

table
{
	font-size: 10pt;
}

.error
{
	color: red;
	margin-bottom: 1em;
}

div.fullscreen
{
	width: 100%; 
	height: 100%; 
	margin: 0px;
	padding: 0px;
}

input.error, textarea.error
{
	border: 1px solid red;
	padding: 2px;
	color: inherit;
	margin-bottom: inherit;
}

/**********************************************
Login
*/

.menubox .login_userName
{
	margin-bottom: 3px;
	font-size: 7pt;
}

.menubox .login_userName input
{
	width: 100px;
	font-size: 7pt;
	margin-top: 2px;
}

.menubox .login_password
{
	margin-bottom: 3px;
	font-size: 7pt;
}

.menubox .login_password input
{
	width: 100px;
	font-size: 7pt;
	margin-top: 2px;
}

.menubox input.login
{
	font-size: 7pt;
	background: none;
	color: blue;
	text-decoration: underline;
	border: none;
}

/**********************************************
Menu
*/

#menu
{
	width: 150px;
	position: absolute;
	top: 10px;
	left: 10px;
	font-size: 8pt;
}

div.logo
{
	text-align: center;
	border: 1px solid black;
	background: white;
	height: 100px;
	vertical-align: middle;
}

div.menubox
{
	border: 1px solid black;
	margin-top: 10px;
	background: white;
	padding: 5px 0px 5px 5px;
}

div.menubox a
{
	display: block;
	margin: 0px;
	padding-left: 3px;
	padding-top: 1px;
	text-decoration: none;
}

div.areas a
{
	margin-left: 10px;
}

form.menu_search
{
	margin: 0px;
	padding: 0px;
}

form.menu_search p
{
	margin: 0px;
	padding: 0px;
}

form.menu_search input.search_name
{
	font-size: 10pt;
	width: 80px;
	margin-top: 0px;
	margin-right: 4px;
}

form.menu_search input.search_submit
{
	font-size: 10pt;
	padding: 0px;
}

.menubox ul
{
	margin-top: 0px;
	margin-bottom: 1px;
	vertical-align: middle;
	padding-left: 0px;
	margin-left: 0px;
}

.menubox li
{
	list-style-type: none;
	margin-top: 1px;

	/* Use instead of list-item-image to be able to control spacing between dot and text (padding-left) */
	background: url(Images/dot.gif) no-repeat center left;
	padding-left: 12px;
}

/**********************************************
Contents
*/

#contents
{
	border: 2px solid black;
	background: white;
	padding: 5px;
	margin-left: 160px;
}

/*
Make div#content expand to encompass entire contents, including
floating images
*/

#contents:after {
    content: ".";
    display: block;
    height: 0;
    font-size: 0;
    clear: both;
    visibility: hidden;
}

#contents {display: inline-block;}

/* Hides from IE5/Mac \*/
* html #contents {height: 1px;}
#contents {display: block;}
/* End hide from IE5/Mac */

td
{
	vertical-align: top;
}

h1
{
	font-size: 12pt;
	color: white;
	background: #6796dd;
	padding: 10px;
	margin: 0px 0px 15px 0px;
	border: 1px solid #666;
}

/**********************************************
Front Page
*/

div.frontpage table.route_info td
{
	font-size: 8pt;
}


/**********************************************
Route Presentation 
*/

tr.route_list_heading th
{
	padding-top: 3px;
	padding-bottom: 3px;
	font-weight: bold;
	text-align: left;
	white-space: nowrap;
}

tr.route_list_heading
{
	border: 1px solid black;
}

div.route_info
{
}

table.route_info
{
	margin-bottom: 10px;
}

table.route_info td
{
	border-bottom: 1px solid gray;
	padding-right: 6px;
	padding-top: 3px;
}

div.route_charts
{
	float: right;
	margin-bottom: 15px;
}

div.route_profile
{
	background: #f5f5f5;
	text-align: center;
	border: 1px solid #666;
	padding: 2px;
	margin: 5px;
	display: block;
}

a#profile_container
{
	display: block;
	width: 400px;
	height: 150px;
}

a#profile_container img.waitLoading
{
	margin-top: 45px;
}

div.route_map
{
	background: #f5f5f5;
	text-align: center;
	border: 1px solid #666;
	padding: 2px;
	margin: 5px;
	display: block;
}

div.route_map div
{
	margin-left: auto;
	margin-right: auto;
}

div#map
{
	border: 1px solid black;
}

div.route_photo
{
	border: 1px solid #666;
	padding: 2px;
	margin: 5px;
	display: inline;
}

form.route_show_edit
{
	margin-top: 10px;
}

input.route_show_edit
{
	background: white;
	color: blue;
	text-decoration: underline;
	border: none;
}

span.area
{
	display: block;
}

span.area img
{
	vertical-align: middle;
}

span.photo_caption
{
	font-weight: bold;
	text-decoration: none;
	clear: right;
	text-align: center;
	display: block;
	padding-bottom: 10px;
}

div.route_description
{
}

.route_times.caption
{
	margin-right: 420px;
}

.route_areas.caption
{
	margin-right: 420px;
}

.route_waypoints.caption
{
	margin-right: 420px;
}

.route_photos.caption
{
	clear: right;
}

.route_info.caption
{
	margin-right: 420px;
}

.route_comments.caption
{
	margin-right: 420px;
}

tr.caption td, tr.caption th
{
	font-size: 8pt;
	color: gray;
	font-weight: normal;
}

table.route_times td
{
	padding-right: 6px;
}

table.route_waypoints td
{
	padding-right: 6px;
	padding-left: 1em;
	text-indent: -1em;
}

table.route_waypoints td.from_start, table.route_waypoints td.to_end, table.route_waypoints td.from_previous
{
	text-align: right;
	white-space: nowrap;
}

div.photo
{
	float: left; /* to place images on the same line */
	height: 230px;

/*	This is better, but it doesn't work in Firefox yet.

	display: inline-block;
	vertical-align: top; 
*/
}

span.text_image, div.photo
{
	text-align: center;
	width: 160px;
	margin-left: 5px;
	margin-bottom: 5px;
	margin-right: 5px;
	font-size: 8pt;
}

span.text_image a, div.photo a
{
	text-decoration: none;
}

img.text_image, img.photo
{
	margin-bottom: 5px;
	border: 1px solid black;
}

div.route_track_download
{
	text-align: right;
}

div.route_comment
{
	padding-bottom: 1em;
	margin-bottom: 1em;
}

div.route_comment span.comment
{
	display: block;
	margin-top: 5px;
	margin-bottom: 5px;
}

div.route_comment span.from
{
	font-size: 8pt;
	text-align: center;
	font-weight: bold;
}

div.route_comment span.date
{
	font-size: 7pt;
}

div.route_comment span.ridedate
{
	display: block;
}

a#show_add_comment
{
	display: block;
	margin-bottom: 1em;
}

form#add_comment
{
	padding: 10px;
	margin-top: -1.5em;
	display: none;
	position: absolute;
	background: #f0f0f0;
	border: 1px solid black;
}

form#add_comment table
{
	width: 100%;
}

form#add_comment table tr td.help
{
	font-style: inherit; /* cancel italic from .help */
	background: inherit; /* cancel yellow background from .help */
}

form#add_comment table tr td textarea
{
	width: 100%;
	height: 10em;
}

span.ride_date_explanation
{
	display: block;
}

/**********************************************
Area presentation 
*/

span.area_child
{
	display: block;
}

span.area_parent
{
	display: block;
}

span.area_route
{
	display: block;
}

table.route_list tr
{
	margin-bottom: 3px;
}

table.route_list td
{
	padding-right: 4px;
	padding-bottom: 7px;
	padding-top: 7px;
	/* white-space: nowrap; */
}

table.route_list td:first-child
{
	padding-left: 5px;
}

table.route_list td.route_distance, table.route_list td.route_ascent
{
	text-align: right;
}

table.route_list tr.highlight
{
	background: #efefef;
}

table.sortable a.sortheader 
{
    font-weight: bold;
    text-decoration: none;
    color: black;
}

table.sortable span.sortarrow 
{
    color: black;
    text-decoration: none;
}

/**********************************************
Route edit 
*/

a.tab
{
	border: 1px solid black;
	border-bottom: none;
	font-size: 9pt;
	color: black;
	background: white;
	font-weight: bold;
	text-decoration: none;
	padding: 2px;
}

a.active
{
	color: white;
	background: #6796dd;
}

input.edit_waypoint_distance
{
	width: 12ex;
}

div.edit_route
{
	border: 1px solid black;
	padding: 5px;
	background: white;
}

/*
Make div#content expand to encompass entire contents, including
floating images
*/

div.edit_route:after {
    content: ".";
    display: block;
    height: 0;
    font-size: 0;
    clear: both;
    visibility: hidden;
}

div.edit_route {display: inline-block;}

/* Hides from IE5/Mac \*/
* html div.edit_route {height: 1px;}
div.edit_route {display: block;}
/* End hide from IE5/Mac */

/* Generic stuff */

th
{
	text-align: left;
	padding-right: 5px;
}

.label
{
	font-weight: bold;
	padding-right: 4px;
}

.help
{
	background: #ffffc0;
	display: block;
	font-style: italic;
	margin-top: 5px;
	margin-bottom: 5px;
}

.box_caption
{
	font-weight: bold;
	text-decoration: none;
	clear: right;
	text-align: center;
	display: block;
	padding-bottom: 10px;
}

.align_right
{
	text-align: right;
}

span.caption, div.caption, h2.caption
{
	display: block;
	font-weight: bold;
	font-size: 10pt;
	margin-top: 10px;
	border-bottom: 1px solid gray;
	padding-bottom: 2px;
	margin-bottom: 7px;
	clear: left;
}

/* Root area gets no indentation to keep it aligned with the margin */
ul.area
{
	vertical-align: middle;
	padding-left: 0px;
	margin-left: 0px;
}

/* Subsequent areas get a little indentation to separate them from their parent */
ul.area ul.area
{
	vertical-align: middle;
	padding-left: 0px;
	margin-left: 10px;
}

li.area
{
	list-style-type: none;
	margin-top: 3px;

	/* Use instead of list-item-image to be able to control spacing between dot and text (padding-left) */
	background: url(Images/dot.gif) no-repeat top left;
	padding-left: 16px;
}

img.fullsize
{
	width: 100%;
}

.right
{
	float: right;
}

.left
{
	float: left;
}

h2.frontpage
{
	clear: right;
}

.nav_back
{
	clear: left;
}

/**********************************************
Search form
*/

form.search div.field
{
	clear: right;
	margin-bottom: 10px;
}

form.search span.field
{
	display: block;
	border-bottom: 1px dotted grey;
	font-weight: bold;
}

/* Hides from IE5/Mac \*/
* html form.search span.field 
{ 
	border-bottom: none;
	background: url(Images/dotted-pixel-white.gif) repeat-x bottom;
}
/* End hide from IE5/Mac */

form.search input, form.search textarea
{
	margin-top: 5px;
}

textarea.search_areaName, input.search_text
{
	width: 250px;
}

input.search_distanceFrom, input.search_distanceTo
{
	width: 40px;
}

form.search span.help
{
	float: right;
	margin: 0px;
	width: 300px;
	padding: 5px;
}

form.search div.field:after {
    content: ".";
    display: block;
    height: 0;
    font-size: 0;
    clear: right;
    visibility: hidden;
}
form.search div.field { display: inline-block; }
/* Hides from IE5/Mac \*/
* html form.search div.field {height: 1px;}
form.search div.field {display: block;}
/* End hide from IE5/Mac */

/*
Frontpage route display
*/

div.route
{
	clear: both;
	border: 1px solid #929fd0;
	padding: 5px;
	background: #f8f8f8;
	margin-bottom: 10px;
}

div.route:after {
    content: ".";
    display: block;
    height: 0;
    font-size: 0;
    clear: right;
    visibility: hidden;
}
div.route { display: inline-block; }
/* Hides from IE5/Mac \*/
* html div.route {height: 1px;}
div.route {display: block;}
/* End hide from IE5/Mac */

div.route div.photo
{
	float: right;
	margin: 3px;
}

div.route div.profile
{
	float: right;
	margin: 3px;
	width: 200px;
	height: 150px;
	text-align: center;
}

div.route div.photo img
{
	border: 1px solid black;
}

div.route div.photo span.caption
{
	font-size: 8pt;
	font-weight: normal;
	border: none;
	margin-top: 2px;
}

div.route span.area
{
	float: right;
}

div.route span.name
{
	display: block;
	margin-bottom: 10px;
}

div.route span.name a
{
	font-size: 11pt;
	font-weight: bold;
	color: black;
	text-decoration: none;
}

div.route table.info td
{
	padding: 0px 5px 0px 0px;
}

div.route div.info
{
	display: table;
}

div.route div.valuePair
{
	display: table-row;
}

div.ValuePair span.label, div.ValuePair span.value
{
	display: table-cell;
}

div.ValuePair span.label
{
	font-weight: bold;
}

/**********************************************
Errors
*/

div.errorInfo
{
	margin-top: 100px;
	font-size: 8pt;
}

div.errorInfo h2
{
	font-size: 8pt;
	border-bottom: 1px solid black;
}

div.message
{
	font-weight: bold;
}

div.type
{
	margin-top: 5pt;
}

div.stackTrace
{
	white-space: pre;
}

div.routeGroupText
{
	/*white-space: nowrap;*/
}
