/* 
----------------------------------------------------------------------
FFK08 - Website zur Flashforum Konferenz 2008
Start: 28.01.2008
Letzte Aenderung: 03.02.2008
Autor: marc thiele - www.marcthiele.com
----------------------------------------------------------------------
*/

/* Allgemeine Einstellungen */
* {
	margin: 0;
	padding: 0;
	font-weight: normal;
}

* html a { 
	position: relative; 
}

body {
	min-width: 970px;
	background: #aab3c5 url(../images/main_bg.jpg) repeat-x left top;
	color: #fff;
	font-family: "Lucida Grande", Verdana, Helvetica, Arial, Geneva, sans-serif;
	font-size: 78%;
	line-height: 1.6em;
	text-align: center;
}

img, a img, #mainContent a img {
	border: none;
}

a, a:link, a:visited {
	color: #faa322;
	text-decoration: none;
}

a:hover {
	color: #faa322;
	text-decoration: underline;
}

h2 {
	margin-bottom: 0.8em;
	font-size: 1.6em;
	line-height: 1.6em;
	font-weight: normal;
}

h3 {
	margin: 1.2em 0 0.4em 0;
	font-size: 1.4em;
	line-height: 1.4em;
	font-weight: normal;
}

p {
	margin-bottom: 0.8em;
	font-weight: normal;
}

code { 
	font-family: "Courier New", Courier, mono;
	font-size: 11px;
}

strong {
	font-weight: bold;
}

.floatLeft {
	float: left;
	margin-right: 15px;
	margin-bottom: 15px;
}

.floatRight {
	float: right;
	margin-left: 10px;
	margin-bottom: 15px;
}

.clearBoth {
	clear: both;
}

/* --- Layout -------------------- */
#wrapper {
	width: 970px;
	margin: 0 auto;
	text-align: left;
}

/* Header */
h1 {
	width: 970px;
	height: 170px;
	margin-top: 10px;
	color: #FFF;
	font-size: 1em;
	text-indent: -9999px;
}

html>body h1 {
	background: url(../images/header_home.png) no-repeat 0 0;
}

/* Navigation */
#wrapper .skiplink {
	display: none;
}

#navigation {
	width: 970px;
	height: 30px;
	overflow: hidden;
	font-size: 0.8em;
	letter-spacing: 0.1em;
}

html>body #navigation {
	background: url(../images/navigation_bg.png) no-repeat 0 0;
}

#navigation ul {
	width: 950px;
	height: 30px;
	margin: 0 0 0 45px;
	list-style: none;
}

#navigation li {
	display: block;
	height: 30px;
	float: left;
	text-align: center;
}

#navigation a {
	display: block;
	height: 30px;
	float: left;
	border: none;
	padding: 0 11px;
	color: #fff;
	line-height: 30px;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	text-shadow: #000 0 0 4px;
}

#navigation a:hover {
	background: url(../images/navigation_hover.png) repeat-x 0 0;
	border: none;
	color: #faa322;
	text-shadow: #000 0 0 4px;
}

/* Highlight Navigation depending on site */
#home #navigation a#nav_start, #partners #navigation a#nav_partner, #tickets #navigation a#nav_tickets, #workshops #navigation a#nav_workshops, #speakers #navigation a#nav_speakers, #agenda #navigation a#nav_agenda, #location #navigation a#nav_location, #friendsPage #navigation a#nav_friends, #press #navigation a#nav_press {
	background: url(../images/navigation_hover.png) repeat-x 0 0;
	border: none;
	color: #faa322;
	text-shadow: #000 0 0 4px;
}

/* Content area */
.spacer {
	width: 970px;
	height: 10px;
}

html>body .spacer {
	background: url(../images/spacer_bg.png) repeat-y 0 0;
}

#content {
	width: 970px;
	min-height: 50px;
	float: left;
}

html>body #content {
	background: url(../images/content_bg.png) repeat-y 0 0;
}

/* Main Content*/
#mainContent {
	width: 670px;
	margin: 0 10px 0 20px;
	display: inline;
	float: left;
}

.entry {
	width: 600px;
	padding: 30px 35px 30px 35px;
	background: url(../images/entry_bg.png) repeat-x 0 0;
}

.badge {
	border: none !important;
	float: right;
}

#mainContent img {
	border: 5px solid #fff;
}

#speakers #mainContent img {
	margin-top: 5px;
}

#mainContent table {
	width: 600px;
	margin: 15px 0 15px 0;
	padding: 0;
	border: none;
}

.entry ul {
	padding-bottom: 0.8em;
}

.bullet {
	padding-left: 18px;
	background: url(../images/bullet_standard.gif) no-repeat left center;
	list-style: none;
}

/* Registrierung - Ticket-Seite */
#tickets .entry {
	float: left;
}

.over {
	color: #ccc;
	text-decoration: line-through;
}

.book_assistent, .workshop_list a {
	padding-left: 18px;
	background: url(../images/bullet_link.gif) no-repeat left center;
}

#tickets .tabTitel {
	width: 240px;
	height: 24px;
	border-bottom: 1px solid #527ecf;
}

#tickets .tabInfo {
	width: 120px;
	height: 24px;
	border-bottom: 1px solid #527ecf;
	text-align: center;
}

/* Einbinden der Icons im Buchungsassistenten */
.booking_step0 {
	padding-bottom: 4.6em;
	background: url(../images/head_booking_step0.gif) no-repeat left bottom;
}

.booking_step1 {
	padding-bottom: 4.6em;
	background: url(../images/head_booking_step1.gif) no-repeat left bottom;
}

.booking_step2 {
	padding-bottom: 4.6em;
	background: url(../images/head_booking_step2.gif) no-repeat left bottom;
}

.booking_step3 {
	padding-bottom: 4.6em;
	background: url(../images/head_booking_step3.gif) no-repeat left bottom;
}

.booking_step4 {
	padding-bottom: 4.6em;
	background: url(../images/head_booking_step4.gif) no-repeat left bottom;
}

/* Workshop Uebersicht */
.workshop_list img {
	width: 75px;
	height: 75px;
	float: left;
}

ul.workshop_list {
	padding-left: 100px;
	list-style: none;
}

li.workshop_list {
	list-style: none;
}

#workshops h3 {
	margin: -0.6em 0 0.4em 0;
	font-size: 1.4em;
	line-height: 1.4em;
	font-weight: normal;
}

/* Registrierung - Formular */
input, textarea {
	width: 350px;
	margin-bottom: 5px;
}

form .btnForm {
	width: auto;
}

dt {
	width: 350px;
}

form span dd #agb {
	width: auto;
}

.agbLink {
	line-height: 40px;
}

/* Speakers */
#speakers .entry {
	float: left;
}

#speakers .entry ul{
	list-style: none;
}

#speakers .tabAZ, #workshops .tabAZ {
	width: 200px;
	height: 24px;
	border-bottom: 1px solid #527ecf;
}

.backToTop {
	padding-left: 17px;
	background: url(../images/top.gif) no-repeat 0 center;
}

/* Agenda */
#agenda ul {
	list-style: none;
}

#agenda .tabTime {
	width: 60px;
	height: 24px;
	border-bottom: 1px solid #527ecf;
	padding: 2px 0;
	vertical-align: top;
}

#agenda .tabWorkshop {
	width: 240px;
	height: 24px;
	border-bottom: 1px solid #527ecf;
}

#agenda .tabSession {
	width: 220px;
	height: 24px;
	border-bottom: 1px solid #527ecf;
	padding: 2px 5px;
	vertical-align: top;
}

#agenda .tabSession:hover {
	background-color: #536281;
}

/* Partner */
.raffleImg {
	margin-right: 20px;
	vertical-align: middle;
}

/* Freunde */
#friendsPage .entry ul {
	list-style: none;
}

#friendsPage .entry li {
	margin-bottom: 5px;
}

/* Presse */
#press .entry {
	float: left;
}

.workshopFull {
	font-size: 200%;
	line-height: 2.0em;
	font-weight: bold;
	text-align: center;
	color: #9E1C24;
	background-color: #fff;
	margin-top: 0.8em;
}

.imgWolter, .imgThiele {
	float: left;
	margin: 5px 15px 10px 0;
}

/* --- Sidebar -------------------- */
#sidebar {
	width: 225px;
	float: left;
	padding: 30px 0 0 25px;
}

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

#sidebar li {
	margin: 0;
	padding: 0;
}

.partnerLogo {
	margin-bottom: 10px;
}

/* --- Footer -------------------- */
#footer {
	clear: both;
	height: 180px;
	margin-bottom: 2px;
}

html>body #footer {
	background: url(../images/footer_bg.png) no-repeat 0 0;
}

#friends {
	width: 600px;
	margin: 0 0 0 20px;
	padding: 30px 35px 0 35px;
	float: left;
	display: inline;
}

#friends h2, #hotline h2 {
	margin-bottom: 0.8em;
}

#hotline {
	padding: 30px 35px 0 35px;
	float: left;
}

/* --- Legal Notice -------------------- */
#copyrights {
	color: #273b61;
	font-size: 0.8em;
	margin-left: 15px;
	margin-bottom: 10px;
}

#copyrights a, #copyrights a:hover {
	color: #f1f6ff;
}

/* --- SPRY START -------------------- */

/* These are the classes applied on the error messages which prevent them from being displayed by default. */ 
.textfieldRequiredMsg, 
.textfieldInvalidFormatMsg, 
.textfieldMinValueMsg,
.textfieldMaxValueMsg,
.textfieldMinCharsMsg,
.textfieldMaxCharsMsg,
.textfieldValidMsg,
.checkboxRequiredMsg, .checkboxMinSelectionsMsg, .checkboxMaxSelectionsMsg {
	display: none;
}

/* These selectors change the way messages look when the widget is in one of the error states.
 * These classes set a default red border and color for the error text.
 * The state class (e.g. .textfieldRequiredState) is applied on the top-level container for the widget,
 * and this way only the specific error message can be shown by setting the display property to "inline".
 */
.textfieldRequiredState .textfieldRequiredMsg, 
.textfieldInvalidFormatState .textfieldInvalidFormatMsg, 
.textfieldMinValueState .textfieldMinValueMsg,
.textfieldMaxValueState .textfieldMaxValueMsg,
.textfieldMinCharsState .textfieldMinCharsMsg,
.textfieldMaxCharsState .textfieldMaxCharsMsg,
.checkboxRequiredState .checkboxRequiredMsg,
.checkboxMinSelectionsState .checkboxMinSelectionsMsg,
.checkboxMaxSelectionsState .checkboxMaxSelectionsMsg {
	margin-left: 5px;
	padding-left: 20px;
	display: inline;
	color: #f13f21;
	background: transparent url(../images/spry_check.gif) no-repeat 0 0;
}

/* The next three group selectors control the way the core element (INPUT) looks like when the widget is in one of the states: * focus, required / invalid / minValue / maxValue / minChars / maxChars , valid 
 * There are two selectors for each state, to cover the two main usecases for the widget:
 * - the widget id is placed on the top level container for the INPUT
 * - the widget id is placed on the INPUT element itself (there are no error messages)
 */
 
 /* When the widget is in the valid state the INPUT has a green background applied on it. */
.textareaValidState textarea, textarea.textareaValidState,
.textfieldValidState input, input.textfieldValidState {
	background-color: #9ed5ac;
}

/* When the widget is in an invalid state the INPUT has a red background applied on it. */
input.textfieldRequiredState, .textfieldRequiredState input, 
input.textfieldInvalidFormatState, .textfieldInvalidFormatState input, 
input.textfieldMinValueState, .textfieldMinValueState input, 
input.textfieldMaxValueState, .textfieldMaxValueState input, 
input.textfieldMinCharsState, .textfieldMinCharsState input, 
input.textfieldMaxCharsState, .textfieldMaxCharsState input,
textarea.textareaRequiredState, .textareaRequiredState textarea, 
textarea.textareaMinCharsState, .textareaMinCharsState textarea, 
textarea.textareaMaxCharsState, .textareaMaxCharsState textarea {
	background-color: #f89f90;
}

/* When the widget has received focus, the INPUT has a yellow background applied on it. */
.textfieldFocusState input, input.textfieldFocusState,
.textareaFocusState textarea, textarea.textareaFocusState {
	background-color: #FFFFCC;
}

/* This class applies only for a short period of time and changes the way the text in the textbox looks like.
 * It applies only when the widget has character masking enabled and the user tries to type in an invalid character.
 */
.textfieldFlashText input, input.textfieldFlashText,
.textareaFlashState textarea, textarea.textareaFlashState {
	color: red !important;
}

/* --- SPRY END -------------------- */