html, body
{
	margin: 0;
	padding: 0;
	font: 12px Arial, "Helvetica Neue", Helvetica, Verdana, "sans-serif";
	color: white;
}

body
{
	background: #161616 url('../images/general/bg.gif') repeat left top;
}

#bgtop
{
	height: 750px;
	background: transparent url('../images/general/bg-top.gif') repeat-x left top;
}

a
{
	text-decoration: none;
	color: white;
	outline: none;
}

a:hover
{
	text-decoration: underline;
}

a.active,
a.inpath
{
	color: #b9060a;
}

img
{
	border-width: 0;
}

h2, 
h3, 
h4, 
h5, 
h6,
#mainnavigation a
{
	font-family: "HelveticaNeue-CondensedBold", "Helvetica Neue Condensed Bold", "Helvetica Neue", "Arial Narrow", Arial, "sans-serif";
	font-weight: bold;
	font-stretch: condensed;
	/*
		Complicated one. Current CSS spec says: use font-family for family name only, e.g. "Helvetica Neue", 
		and use font-weight and font-stretch for styling. This only works correctly in a current version of 
		Firefox (3.6.x), since Safari (4.0.4) ignores font-stretch. The only thing working in Safari are 
		exact Postscript names (e.g. "HelveticaNeue-CondensedBold"). The only thing working in earlier 
		versions of Firefox are exact non-Postscript names (e.g. "Helvetica Neue Condensed Bold"). In 
		Firefox 3.6, the only thing working is font-family ("Helvetica Neue") and the correct styles.
		Versions of different vendors (e.g. OpenType from Adobe; "Helvetica Neue LT Std 77 Bold Condensed")
		are ignored. Windows falls back to "Arial Narrow" (90% Penetration; installed with MS Office).
	*/
}


h1
{
	font-size: 24px;
	text-transform: uppercase;
	font-weight: normal;
	padding: 4px 12px;
	margin: 0;
}

h2
{
	text-transform: uppercase;
	font-size: 24px;
	padding: 0;
	margin: 0 0 10px 0;
}

h3
{
	text-transform: uppercase;
	display: block;
	margin: 0 0 10px 0;
	font-weight: normal;
	padding: 10px 20px;
	font-size: 26px;
}

h4
{
	font-size: 14px;
	padding: 0;
	margin: 0;
}

/* ========== colored blocks ========== */

.block
{
	border-left: 5px solid white;
	color: black;
	position: relative;
	margin-bottom: 4px;
	background-color: white;
}

.block .content
{
	padding: 20px;
}

.block.race
{
	border-color: #b9060a;
}

.block.athlet
{
	border-color: #faa719;
}

.block.sponsor
{
	border-color: #47a2da;
}

.block.race a
{
	color: #b9060a;
}

.block.athlet a
{
	color: #faa719;
}

.block.sponsor a
{
	color: #47a2da;
}

.block .media
{
	overflow: auto;
}

.block .media h4, 
.block .media .date
{
	margin: 0 0 0 20px;
	color: white;
	font-size: 11px;
}

.block .media h4
{
	display: block;
	width: 200px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.block .media .item
{
	width: 200px;
	padding: 18px;
	float: left;
}

.block .media .item a
{
	display: block;
	position: relative;
	width: 200px;
	height: 150px;
}

.block .media .item a .providerinfo
{
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	background: transparent url('../images/general/bg-dark-transparent.png') repeat 0 0;
	color: white;
	padding: 10px;
}

.block .media .item a .providerinfo span
{
	display: block;
	padding: 0 0 0 18px;
	background: transparent url('../images/general/icon_play.gif') no-repeat left center;
}



.block .media .item p
{
	display: block;
	color: #767676;
	font-size: 11px;
	padding: 0;
	margin: 5px 0 0 0;
}

.block .media .item a
{
	color: #767676;
}

.block .media .item a img
{
	display: block;
	-moz-box-shadow: 0px 0px 10px black;
	-webkit-box-shadow: 0px 0px 10px black;
	box-shadow: 0px 0px 10px black;
}
  
/* ========== block table ========== */

.block table
{
	border: 0;
	margin: 20px;
	padding: 0;
	border-collapse: collapse;
}

.block .column table
{
	margin: 0;
}

.block table th,
.block table td
{
	padding: 3px 20px 3px 0;
	border-bottom: 1px solid #dddddd;
}

.block table th
{
	text-align: left;
	font-weight: bold;
}

.block table tr:last-child td,
.block table tr:last-child th
{
	border-bottom: 0;
}

.block table th:last-child,
.block table td:last-child
{
	padding-right: 0;
}

.block table label
{
	color: #bbbbbb;
}

/* ========== athlet overview ========== */

div.athlet.overview
{
	overflow: auto;
}

div.athlet.overview>div
{
	float: left;
	margin: 10px 10px 0 0;
	padding: 10px;
	background-color: white;
}

div.athlet.overview>div p
{
	color: #faa719;
	display: block;
	padding: 0;
	margin: 5px 0 0 0;
}

/* ========== page ========== */

.container
{
	width: 960px;
	margin: 0 auto;
	position: relative;
}

/* ========== header ========== */

#languageselect ul
{
	position: absolute;
	right: 0;
	top: 50px;
	background-color: black;
	list-style-type: none;
	margin: 0;
	padding: 0 10px;
}

#languageselect li
{
	float: left;
	margin: 0;
	padding: 0;
}

#languageselect li a
{
	text-transform: uppercase; 
	font-size: 11px;
	display: block;
	float: left;
	padding: 5px;
}


/* ========== header ========== */

.header
{
	height: 90px;
	overflow: hidden;
	margin: 0;
}

#sitetitle a
{
	position: absolute;
	display: block;
	margin: 25px 0 15px 0;
	padding: 0;
	text-indent: -400px;
	width: 225px;
	height: 50px;
	z-index: 100;
	background: transparent url('../images/general/logo.gif') no-repeat 0 0;
	overflow: hidden;
}

#contactbutton a
{
	position: absolute;
	right: 20px;
	top: 50px;
	display: block;
	margin: 0;
	z-index: 100;
	padding: 3px 19px;
	background-color: black;
	border: 1px solid black;
}

/* ========== content ========== */

.container>div.content
{
	background-color: #2c2c2c;
	position: relative;
}

/* ========== introimage ========== */

#introimage
{
	background-position: 0 0;
	background-repeat: no-repeat;
	height: 300px;
}

.detail #introimage
{
	background-position: top right;
}

#introimage .fadeout
{
	background: transparent url('../images/general/bg-introimage-fadeout.png') repeat-y 0 0;
}

.detail #introimage .fadeout
{
	background: transparent url('../images/general/bg-introimage-fadeout-detail.png') repeat-y 0 0;
	height: 320px;
}


/* ========== mainnavigation ========== */

#mainnavigation ul
{
	list-style-type: none;
	margin: 3px 0 0 0;
	padding-left: 5px;
	height: 30px;
	overflow: hidden;
	position: relative;
	background: transparent url('../images/general/bg-dark-transparent.png') repeat 0 0;
}

#mainnavigation li
{
	display: block;
	margin: 0;
	padding: 0;
	font-size: 14px;
	border-bottom: 1px solid #e2e2e2;
	float: left;
	height: 30px;
}

#mainnavigation a
{
	text-transform: uppercase;
	font-size: 16px;
	display: block;
	float: left;
	height: 27px;
	padding: 0;
	margin: 0 15px 0 15px;
	line-height: 32px;
}

#mainnavigation li a:hover
{
	border-bottom: 3px solid white !important;
	text-decoration: none;
}

#mainnavigation li.sponsor_corner,
#mainnavigation li.pictures_video
{
	float: right;
}

#mainnavigation li.races a,
#mainnavigation li.athletes a,
#mainnavigation li.sponsors a
{
	border-bottom: 3px solid white;
}

#mainnavigation li.races a
{
	border-color: #b9060a;
}

#mainnavigation li.athletes a
{
	border-color: #faa719;
}

#mainnavigation li.sponsors a
{
	border-color: #47a2da;
}

#mainnavigation li.races a.active,
#mainnavigation li.races a.inpath
{
	color: #b9060a;
}

#mainnavigation li.athletes a.active,
#mainnavigation li.athletes a.inpath
{
	color: #faa719;
}

#mainnavigation li.sponsors a.active,
#mainnavigation li.sponsors a.inpath
{
	color: #47a2da;
}


/* ========== subnavigation ========== */

#subnavigation ul
{
	list-style-type: none;
	margin: 3px 0 0 0;
	padding: 0;
	width: 250px;
	position: relative;
}

#subnavigation li
{
	display: block;
	margin: 0;
	padding: 8px 0 0 5px;
}

#subnavigation li.right
{
}

#subnavigation a
{
	color: white;
	font-size: 13px;
	border-bottom: 1px dotted #5d5d5d;
	padding: 0 0 2px 0;
	margin: 0 15px 0 15px;
}


#subnavigation a:hover
{
	border-bottom: 1px solid white;
	text-decoration: none;
}

#subnavigation li a.active
{
	color: #b9060a;
}

.races #subnavigation li a.active
{
	color: #b9060a;
}

.athletes #subnavigation li a.active
{
	color: #faa719;
}

.sponsors #subnavigation li a.active
{
	color: #47a2da;
}

/* ========== intro-spacer ========== */

.intro-spacer
{
	display: block;
	margin: 0;
	padding: 0;
	height: 220px;
}

/* ========== supporters ========== */

#supporters
{
	position: relative;
}

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

#supporters ul li
{
	margin: 0 0 10px 0;
	padding: 0;
}

#supporters .main
{
	width: 120px;
	position: absolute;
	right: 170px;
	top: 40px;
}


#supporters .additional
{
	width: 60px;
	position: absolute;
	right: 170px;
	top: 40px;
}

#supporters .additional.column1
{
	position: absolute;
	right: 90px;
	top: 40px;
}

#supporters .additional.column2
{
	position: absolute;
	right: 10px;
	top: 40px;
}

/* ========== head ========== */

.head
{
	height: 50px;
	background: transparent url('../images/general/bg-dark-transparent.png') repeat 0 0;
	position: relative;
}

/* ========== maincontent ========== */

body.generic #maincontent
{
	background-color: white;
	padding: 20px;
}


/* ========== news ========== */

.news .head ul.syndication
{
	list-style-type: none;
	margin: 0;
	padding: 0;
	position: absolute;
	top: 15px;
	right: 20px;
}

.news .head ul.syndication li
{
	margin: 0;
	padding: 0;
	float: left;
	margin-left: 20px;
}

.news .head ul.syndication li a
{
	float: left;
	display: block;
	background: transparent url('../images/general/syndication-icons.gif') no-repeat 0 0;
	height: 24px;
	overflow: hidden;
	font-size: 11px;
	line-height: 26px;
	color: white;
}

.news .head ul.syndication li.rss a
{
	padding-left: 24px;
	background-position: 0 -48px;
}

.news .head ul.syndication li.twitter a
{
	padding-left: 24px;
	background-position: 0 -24px;
}

.news .head ul.syndication li.facebook a
{
	text-indent: -1000px;
	width: 74px;
}

.news a
{
	color: #767676;
}

.news .block
{
	background: white url('../images/general/bg-news-media.gif') repeat-y right top;
}

.news .block h1
{
	margin: 0 0 22px 0;
	padding: 0;
	font-size: 14px;
	font-weight: bold;
	text-transform: none;
	line-height: 24px;
}

.news .block h1 a
{
	padding: 0 0 3px 0;
	border-bottom: 1px dotted #a2a2a2;
}

.news .block h1 a:hover
{
	text-decoration: none;
	border-bottom: 1px solid #767676;
}

.news .block .date
{
	font-weight: bold;
	position: absolute;
	top: 20px;
	left: 20px;
}

.news .block .author
{
	font-size: 11px;
	position: absolute;
	top: 36px;
	left: 20px;
}

.news .block .content
{
	padding: 20px 260px 20px 130px;
}

.news .block .media
{
	float: right;
	width: 240px;
}

.news .previous,
.news.archive
{
	position: relative;
	background-color: black;
	padding: 15px 20px 20px 20px;
}

.news .previous a.archive
{
	display: block;
	position: absolute;
	top: 15px;
	right: 20px;
}

.news .previous ul,
.news.archive ul
{
	list-style-type: none;
	margin: 8px 0 0 0;
	padding: 0;
}

.news .previous ul li,
.news.archive ul li
{
	display: block;
	margin: 0 0 4px 0;
	padding: 0;
}

.news .previous li .date,
.news.archive li .date
{
	display: block;
	float: left;
	width: 100px;
	font-weight: bold;
}

/* ========== textpage ========== */

div.text.block p
{
	display: block;
	margin: 0 0 10px 0;
}


div.text.block .column
{
	float: left;
	width: 300px;
	margin-left: 40px;
}

div.text.block .column:first-child
{
	width: 540px;
	margin: 0;
}

.mediaarea
{
	overflow: auto;
	background: #484848 url('../images/general/bg-text-media.gif') repeat-x left top;
	padding: 20px 0;
}

.mediaarea>div
{
	float: left;
	margin: 0 10px 10px 0;
	height: 230px;
}

.mediaarea>div .item
{
	padding-top: 10px !important;
	padding-right: 10px !important;
}


/* ========== clearer ========== */

.clearer
{
	height: 0;
	font-size: 1px;
	clear: both;
}


/* ========== footer ========== */

#footer
{
	margin: 16px 0 30px 0;
	background-color: white;
	color: black;
	font-size: 11px;
	overflow: auto;
}

#footer a
{
	margin: 16px 0 30px 0;
	background-color: white;
	color: black;
	font-size: 11px;
	color: #767676;
}

#footer h4
{
	color: #767676;
	margin: 0 0 10px 0;
}

#footer .newsletter
{
	float: left;
	margin: 20px;
	width: 300px;
}

#footer .newsletter form
{
	margin: 0;
	padding: 0;
}

#footer .contact
{
	float: left;
	padding: 20px;
	width: 200px;
	border-left: 1px solid black;
	border-right: 1px solid black;
}

#footer .contact address
{
	font-style: normal;
}

#footer input,
#footer select,
#footer button
{
	font-family: Arial, Helvetica, Verdana, "sans-serif";
	display: block;
	float: left;
	margin: 0 1px 0 0;
}

#footer .newsletter input.text
{
	width: 150px;
	height: 18px;
	padding: 0;
	border: 1px solid #cccccc;
	text-indent: 3px;
}

#footer .newsletter select
{
	-khtml-appearance: none;
	-moz-appearance: none;
	-webkit-border-radius: 0;
	border-width: 0;
	color: white;
	font-weight: normal;
	line-height: 14px;
	width: 95px;
	height: 20px;
	background: #7c7c7c url('../images/general/arrow-down.gif') no-repeat right center;
	overflow: hidden;
}

#footer .newsletter button
{
	-khtml-appearance: none;
	-moz-appearance: none;
	-webkit-border-radius: 0;
	border-width: 0;
	color: white;
	font-weight: normal;
	padding: 3px;
	height: 20px;
	width: 20px;
	text-indent: 100px:
	overflow: hidden;
	background: black url('../images/general/arrow-right.gif') no-repeat right center;
}

#footer .additionalhelpers
{
	float: left;
	width: 200px;
	padding: 20px;
}

/* ========== racedetail ========== */

.racedetail .block table
{
	margin: 0 0 20px 20px;
	width: 200px;
}

.racedetail .column
{
	padding-top: 20px;
}

.racedetail .column ul
{
	margin: 0;
	padding: 0;
	list-style-type: none;
}

.racedetail .column li
{
	margin: 5px 0 0 0;
	padding: 0;
	display: block;
}

.racedetail .column li .place
{
	font-weight: bold;
	font-size: 13px;
}

/* ========== downloadcollection ========== */

.downloadcollection
{
	padding: 20px;
	overflow: auto;
}

.downloadcollection h4,
.downloadcollection .infotext
{
	margin: 0 0 10px 0;
}

.downloadcollection .download_row
{
	border-top: 1px solid #dddddd;
	padding: 5px 0;
	overflow: auto;
	width: 300px;
	margin-right: 40px;
	float: left;
}

.downloadcollection .download_row img
{
	float: left;
	margin-right: 10px;
}


/* ========== various ========== */

#sb-player.html
{
	overflow: hidden !important;
}

.sponsorlist>div
{
	position: relative;
	margin: 10px 0 0 0;
	background-color: black;
}

.sponsorlist  img
{
	position: absolute;
	left: 20px; 
	top: 20px;
}

.sponsorlist  .description
{
	background-color: white;
	margin: 0 0 0 160px;
	color: black;
	padding: 10px;
	border-left: 5px solid #47a2da;
}

.sponsorlist  .description a
{
	color: #47a2da;
}

.medialinkarchive
{
	border-left: 0;
	border-top: 5px solid white;
}

.medialinkarchive>h4
{
	display: block;
	float: none;
	clear: both;
	margin: 0 20px 20px 20px;
	font-size: 16px;
	color: #888888;
	padding-bottom: 10px;
	border-bottom: 1px solid #888888;
}
