@charset "utf-8";

/**
 * General Setup
 */

body
{
	margin:0 0 0 3em;
	padding:0;
	font-family:HelveticaNeue, Helvetica, Arial, Geneva, sans-serif;
	font-size:100.01%;
	color:#fff;
	background:url(../images/background.jpg) top repeat-x #eaf4f9;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
label,
li,
td,
th,
input,
select,
textarea
{
	font-family:HelveticaNeue, Helvetica, Arial, Geneva, sans-serif;
}

img
{
	vertical-align:middle;
	border:0;
}

.content .inside img[align="right"] {
	float:right;
	margin:0 0 .1em .5em;
}

img.inline {
	float:right;
	margin-left:.5em;
}

pre,
form
{
	margin:0;
	padding:0;
}

/**
 * Links
 */
 
a:link 
{ 
	color:#fdb913;
	text-decoration:underline;
}

a:visited
{  
	color:#ffd97f;
	text-decoration:underline;
}

a:hover 
{
	color:#e2041a;
	text-decoration:underline;
}

a:active 
{
	color:#e2041a;
	text-decoration:none;
}

a[target="_blank"] {
	padding-right:14px;
	min-height:10px;
	background:url(../images/icon-external.png) no-repeat right center;
}
*:first-child+html a[target="_blank"] {
	display:inline-block;
}

a[href$=".pdf"] {
	padding-right:12px;
	min-height:10px;
	background:url(../images/icon-pdf.png) no-repeat right center;
}
*:first-child+html a[href$=".pdf"] {
	display:inline-block;
}

#header a {
	background:none;
}

a img {
	text-decoration:none;
}

/**
 * Headlines
 */

h1 {
	margin-bottom:.3em;
	font-size:2em;
	font-weight:normal;
	color:#fff;
}

.content h2 + h1 {
	margin-top:.25em;
}

h2,
.Headline1 {
	font-size:1.5em;
	font-weight:normal;
}

.content h2 {
	margin-bottom:0;
	font-size:1em;
	font-weight:bold;
	text-transform:uppercase;
	color:#00afe5;
}

h3,
.Headline2 {
	font-size:1.25em;
	font-weight:normal;
}
 
* > h1 {
	margin-top:0;
}

* + h1 {
	margin-top:1em;
}

h1:first-child,
h2:first-child,
h3:first-child,
h4:first-child,
h5:first-child,
h6:first-child {
	margin-top:0 !important;
	padding-top:0 !important;
	border-top:none !important;
}

/*h1 a,
h1 a:visited,
h2 a,
h2 a:visited,
h3 a,
h3 a:visited,
h4 a,
h4 a:visited,
h5 a,
h5 a:visited,
h6 a,
h6 a:visited {
	color:inherit !important;
}*/

/**
 * Lists
 */

ul,
ol {
	margin:1em .2em;
	padding:0;
}

li {
	margin:0 0 0 1.5em;
	padding:0;
}

ul li {
	margin:0 0 0 1em;
	list-style:square;
}

/**
 * Tables
 */

table {
	border-collapse:collapse;
	border-spacing:0;
}

td,
th {
	padding:.25em .5em .25em 0;
	vertical-align:top;
	text-align:left;
}

th[scope="col"] {
	border-bottom:.1875em solid #fff;
}

th[scope="row"] {
	border-right:.1875em solid #fff;
}

td {
	border-top:.0625em solid #83b8d4;
}

tr:last-child td {
	border-bottom:.0625em solid #83b8d4;
}

.tbButtonWysiwygDefaultStyle td,
.tbButtonWysiwygDefaultStyle tr:last-child td {
	border:none;
}

/**
 * Forms
 */

form dl {
	float:left;
	margin-top:1em;
	width:100%;
}

form dt {
	clear:both;
	float:left;
	margin:0 0 1.5em 0;
	width:33%;
	text-align:right;
}

form dt label {
	display:block;
	padding:.125em 1em 0 0;
	color:#83b8d4;
	font-weight:bold;
}

form dd {
	float:left;
	margin:0 0 1.5em 0;
	width:66%;
}

label.radio,
label.checkbox {
	margin-right:1em;
	white-space:nowrap;
}

input, 
select, 
textarea {
	padding:.125em .5em;
	font-size:1em;
	border:1px inset #ccc;
}

input:hover, 
select:hover, 
textarea:hover {
	border-color:#00afe5;
	background:#fff;
}

input:focus, 
select:focus, 
textarea:focus {
	color:#00afe5;
	border-color:#00afe5;
	border-style:solid;
}

.valid {
/*	background-color:#cfc;
	border-color:#0c0;
	border-style:solid;*/
}

.invalid {
	background-color:#fcc;
	border-color:#E2041A;
	border-style:solid;
}

.invalid-msg {
	margin:.5em 0;
	padding:.1em .5em;
	font-weight:bold;
	color:#fff;
	border:1px solid #E2041A;
	background:#E2041A;
}

.invalid-msg > .invalid-msg {
	margin-top:-.5em;
}

button {
	padding:0;
	background:none;
	border:none;
	cursor:pointer;
}

button div {
	height:37px;
	padding:0 4px 0 0;
	background:url(../images/button-default-right.png) no-repeat top right;
}

button div span {
	height:37px;
	display:block;
	margin:0;
	padding:0 1em;
	font-size:1.25em;
	line-height:37px;
	color:#000;
	background:url(../images/button-default-left.png) no-repeat top left;
}

button:hover div,
button.hover div {
	background:url(../images/button-hover-right.png) no-repeat top right;
}

button:hover div span,
button.hover div span {
	background:url(../images/button-hover-left.png) no-repeat top left;
}

button:active div,
button.pressed div {
	background:url(../images/button-pressed-right.png) no-repeat top right;
}

button:active div span,
button.pressed div span {
	color:#333;
	background:url(../images/button-pressed-left.png) no-repeat top left;
}

/* autocomplete */
ul.autocompleter-choices {
	position:absolute;
	margin:0;
	padding:0;
	list-style:none;
	border:1px solid #ccc;
	background:#fff;
	z-index:50;
}

ul.autocompleter-choices li {
	position:relative;
	margin:-2px 0 0 0;
	padding:0.2em 1.5em 0.2em 1em;
	display:block;
	float:none !important; 
	cursor:pointer;
	font-weight:normal;
	white-space:nowrap;
	font-size:1em;
	line-height:1.5em;
	color:#000;
}

ul.autocompleter-choices li.autocompleter-selected {
	/*font-weight:bold;*/
	color:#fff;
	background:#00afe5;
}

ul.autocompleter-choices span.autocompleter-queried {
	display:inline;
	float:none;
	font-weight:bold;
	margin:0;
	padding:0;
}

ul.autocompleter-choices li.autocompleter-selected span.autocompleter-queried {
	/* no further highlighting */
}

input.loading {
	background-image:url(../images/indicator.gif);
	background-repeat:no-repeat;
	background-position:center right;
}

/**
 * General Layout
 */

.clear {
	clear:both;
}

.flash {
	z-index:0;
}

.ajax-loading {
	width:16px;
	height:16px;
	background:url(../images/spinner.gif) no-repeat;
}

#wrapper
{
	margin:0 auto;
	padding:0;
	width:53.125em;
	min-width:600px;
}

#wrapper > .before {
	width:10px;
	height:100%;
	background:green;
}

/**
 * Images in copytext
 */

.image_container 
{
	float:right;
	margin:auto auto .25em 1em;
}

.caption 
{
	padding:.25em .5em;
	font-size:.75em;
	background:grey;
}

/**
 * Header
 */
 
#header 
{
	margin:0;
	height:200px;
	background:url(../images/header-bg.jpg) repeat-x top;
}

#header > .inside {
	position:relative;
	height:200px;
	background:url(../images/header.jpg) no-repeat top left;
}

/**
 * Topmenu
 */

#topmenu {
	position:absolute;
	padding:10px 0 0 25px;
	font-size:.6875em;
}

#topmenu ul {
	margin:0;
	padding:0;
	float:left;
}

#topmenu li {
	float:left;
	margin:0 1em 0 0;
	padding:0 1em 0 0;
	line-height:.875em;
	border-right:1px solid #e2041a;
	list-style:none;
}

#topmenu li:last-child {
	margin:0;
	padding:0;
	border:none;
}

#topmenu a {
	color:#e2041a;
	text-decoration:none;
}

#topmenu a:hover {
	text-decoration:underline;
}

/**
 * Partners
 */

#partners {
	position:absolute;
	right:0;
	padding:10px 25px 0 0;
}

#partners h3 {
	float:left;
	margin:0 1em 0 0;
}

#partners h3:last-child {
	margin:0;
}

/**
 * Logo
 */

#logo {
	position:absolute;
	margin:64px 0 0 -78px;
	padding:0;
	z-index:950;
}

#logo * {
	margin:0;
	padding:0;
}

/**
 * Teaser
 */
 
#teaser 
{
	margin:0 0 2em 0;
}

#teaser div.inside 
{
	margin:0 auto;
	padding:0;
}

#teaser .image {
	margin:0 -25px;
	height:250px;
	overflow:hidden;
	z-index:0;
	background-position:center center;
	background-repeat:no-repeat;
}

#teaser .image a {
	display:block;
	width:100%;
	height:100%;
}

#teaser .image a img {
	display:none;
}

#teaser .flash {
	margin:0 -25px;
	width:100%;
	height:100%;
}

/**
 * Container
 */

#container {
	margin:0;
	min-height:16em;
	background:url(../images/content-bg.jpg) repeat-x top #0586c0;
}

#container > div.inside {
	padding:0 25px 25px;
	background:url(../images/content-bg-top.jpg) no-repeat top left;
}

#container.boxes > div.inside {
	padding:0 0 25px 25px;
}

/**
 * Main Column
 */

#main {
	padding:0 17.5625em 0 9em; /* 26.5625em */
}

.wide #main {
	padding:0 0 0 9em; /* 26.5625em */
}

.home #main {
	padding:0 17.5625em; /*14.5625em + 25px + 25px ... almost*/
}

.boxes #main {
	padding:0 0 0 9em;
}

#main div.inside {
	font-size:.75em;
}

/**
 * Left Column
 */

#left {
	float:left;
	margin-bottom:-250px;
	padding-bottom:250px;
	width:8em;
	background:url(../images/vertical-separator.png) no-repeat top right;
}

#left div.inside {
	padding-right:1.6875em;
}

#left div.inside {
	font-size:.625em;
}

.home #left {
	float:left;
	width:16.25em; /*14.5625em;*/
	height:100%;
	min-width:200px;
	background:url(../images/vertical-separator.png) no-repeat top right;
}

.home #left div.inside {
	padding-right:1.6875em;
}

.home #left div.inside {
	font-size:.75em;
}

/**
 * Right Column
 */
#right {
	float:right;
	width:16.375em; /* 14.5625em; */
	height:100%;
	min-width:200px;
	min-height:250px;
	background:url(../images/vertical-separator.png) no-repeat top left;
}

#right div.inside {
	padding-left:2.125em;
}

#right div.inside {
	font-size:.75em;
}

#right h2 {
	padding-top:1em;
	border-top:.0625em solid #00afe5;
}
/* not for IE7 */
*:first-child+html #right h2 {
	padding-top:0;
	border:none;
}

/*
.home #right {
	float:right;
	width:16.375em; /*14.5625em;*//*
	height:100%;
	min-width:200px;
	background:url(../images/vertical-separator.png) no-repeat top left;
}

.home #right div.inside {
	padding-left:2.125em;
}

.home #right div.inside {
	font-size:.75em;
}
*/
/**
 * Footer Column
 */

#footer
{
	margin:2em 0 0;
	padding:0;
	font-size:.6875em;
	background:#a0cee4;
	color:#11a3d6;
}

#footer a {
	color:#11a3d6;
}

#footer div.inside  {
	margin:0;
	padding:10px 25px;
}

#footer div.inside div {
	margin-right:2em;
	float:left;
	font-size:.625em;
}

#footer div.inside div:last-child {
	float:none;
}

/**
 * Breadcrumps
 */

.breadcrumps ul {
	margin:0;
	padding:0;
}

.breadcrumps li {
	margin:0;
	padding:0;
	list-style:none;
	word-wrap:break-word;
}

.breadcrumps a {
	display:block;
	margin-bottom:.25em;
	padding-bottom:.75em;
	color:#fff;
	font-weight:bold;
	text-decoration:none;
	background:url(../images/breadcrumps-arrow.png) no-repeat bottom left;
}

.breadcrumps a:hover {
	text-decoration:underline;
}

/**
 * Sidebar
 */

.sidebar {
	color:#ace5f7; /* color:#00afe5; */
}

/**
 * Menu
 */

#menu 
{
	position:absolute;
	margin-top:100px;
	padding:0 0 0 250px;
	height:67px;
	z-index:900;
}

#menu div.inside
{
	margin:0;
	padding:0;
	height:100%;
}

#menu a {
	display:block;
	width:100%;
	height:67px;
	font-weight:normal;
	font-size:1.0625em;
	text-decoration:none;
	color:#fff;
}
/* making the whole li-area clickable doesn't work this way for IE7 */
*:first-child+html #menu a {
	display:inline;
}

#menu ul ul a {
	height:100%;
}
/*
#menu ul ul a:visited {
	color:#ffd7d2;
}
*/
#menu ul
{
	margin:0;
	padding:0;
}

#menu li
{
	position:relative; 
	float:left; 
	margin:0;
	padding:0 .75em;
	width:auto;
	white-space:nowrap;
	line-height:67px;
	list-style:none;
	border-left:.0625em solid #0357a1;
	border-right:.0625em solid #2474b1;
}

#menu li:first-child {
	border-left:none;
}

#menu li:last-child {
	border-right:none;
}

#menu ul.level_0 > li.active
{
	background:url(../images/menu-level1-active.png) bottom repeat-x;
	cursor:default;
}

#menu ul.level_0 > li.trail
{
	background:url(../images/menu-level1-trail.png) bottom repeat-x;
	cursor:default;
}

#menu li ul
{
	display:none;  
	position:absolute; 
	margin:0 0 0 -.8125em;
	min-width:100%;
	border-top:none;
	border-right:.0625em solid #0357a1;
	border-left:.0625em solid #2474b1;
	border-bottom:.0625em solid #0357a1;
	background:url(../images/menu-level2-bg.png) repeat-x top;
}

#menu li ul ul
{
	position:absolute;
	margin:0 0 0;
	left:100%;
	top:-.0625em;
	border-top:.0625em solid #2474b1;
}

#menu ul ul li 
{
	float:none;
	margin:0;
	line-height:28px;
	border:none;
}

#menu ul ul a {
	font-size:.875em;
}

/* IE7 needs some special adjustments */
*:first-child+html #menu ul.level_1
{
	margin:0;
	left:-.0625em;
	top:67px;
}

#menu ul ul li.last
{
	border:none;
}
#menu ul ul li.submenu > a
{
	padding-right:1em;
	background:url(../images/menu-arrow-sub.gif) right center no-repeat;
}

#menu ul ul li.active
{
	background:url(../images/menu-level1-active.png) repeat-x bottom;
}

#menu ul ul li.trail
{
	background:url(../images/menu-level1-trail.png) repeat-x bottom;
}

/*
hide all :hover from IE Mac 
\*/

#menu li:hover
{
	background:url(../images/menu-level1-hover.png) repeat-x bottom;
}

#menu ul ul li:hover
{
	background:url(../images/menu-level1-hover.png) repeat-x bottom;
}

#menu li:hover > a {
	color:#e53720;
}

#menu ul li:hover ul
{
	display:block;
}
 
#menu ul li:hover ul ul
{
	display:none;
}
 
#menu ul ul li:hover ul
{
	display:block;
}

/*
end of hide from IE Mac
*/

/**
 * PAGE SPECIFIC STYLES
 */

/**
 * homepage
 */

.news a:link {
	color:#fff;
	font-weight:bold;
	text-decoration:none;
}

.news a:hover {
	text-decoration:underline;
}

table.news thead,
table.quickdates thead {
	display:none;
}

table.news tr:first-child td,
table.quickdates tr:first-child td {
	padding-top:0;
	border-top:none;
}

table.news tbody td:first-child,
table.quickdates tbody td:first-child {
	font-size:.8333em;
	line-height:1.75em;
}

/**
 * boxes
 */

.box {
	float:left;
	margin:0 2em 2em 0;
	width:23.3125em;
	padding:1em 1.5em;
	background:url(../images/box-bg.png);
}

.box h3 {
	clear:both;
	font-weight:bold;
}

.box a img {
	float:right;
}

.box .title h3 {
	margin:0;
	padding:0;
	font-size:1.5em;
	font-weight:normal;
	color:#ace5f7;
}

.box img.teaser {
	float:none;
	margin:-1.5em 0 1em -1.5em;
}

.box .title {
	margin:-1em -1.5em 1.5em;
	padding:.5em 1.5em;
	background:url(../images/box-title-bg.png) repeat-x bottom;
}

.box h1 {
	margin-top:0;
}

/**
 * image galleries
 */

ul.images {
	float:right;
	margin-top:-81px; /* 73px + .5em */
	margin-bottom:-1em;
}

ul.images li {
	margin:0 0 .5em .5em;
	float:left;
	width:73px;
	height:73px;
	overflow:hidden;
	list-style:none;
}

ul.images li a {
	display:block;
	width:100%;
	height:100%;
	background-position:center center;
	background-repeat:no-repeat;
}

ul.images li a img {
	display:none;
}

/**
 * news list
 */

table.newslist {
	width:100%;
}

table.newslist thead {
	display:none;
}

table.newslist tr.toggler {
	cursor:pointer;
}

table.newslist tr.active {
	background:url(../images/accordion-bg.png) repeat-x top;
	cursor:default;
}

table.newslist div.element {
	margin-top:.5em;
}

/**
 * date list
 */

table.datelist {
	width:100%;
}

table.datelist thead {
	display:none;
}

table.datelist tr.toggler {
	cursor:pointer;
}

table.datelist tr.active {
	background:url(../images/accordion-bg.png) repeat-x top;
	cursor:default;
}

table.datelist div.element {
	margin-top:.5em;
}

/** 
 * application form
 */

input[type="text"] {
	width:50%;
}

input[type="text"].wide {
	width:75%;
}

input[type="text"].zip {
	width:3.5em;
}

#application td input[type="text"] {
	width:85% !important;
}

.equipment table {
	width:100%;
}

button.step {
	margin:0 -8px -2em 0;
	border:none;
	background:none;
}
/* define width for ie7 */
*:first-child+html button.step {
	width:33%;
}

span.step-number {
	display:block;
	float:left;
	margin:0;
	padding:0;
	width:70px;
	height:70px;
	background-position:top left;
	background-repeat:no-repeat;
}

span.step-body {
	display:block;
	float:left;
	margin:0;
	padding:12px 5px 12px 10px;
	height:70px;
	line-height:45px;
	text-align:left;
	background-position:top left;
	background-repeat:repeat-x;
}

span.step-end {
	display:block;
	float:left;
	margin:0;
	padding:0;
	width:13px;
	height:70px;
	background-position:top right;
	background-repeat:no-repeat;
}

