/* Remove margin, padding and border from everything, set font
-----------------------------------------------------------------------------*/

* {
	margin: 0;
	padding: 0;
	font-family:Arial, Helvetica, sans-serif;
	outline:0;
	background-repeat:no-repeat;
}
table, input, fieldset, textarea, form, img {
		border:none;
}

/* Styles for layout
-----------------------------------------------------------------------------*/

.clear {clear:both;}

/* Set up the document
-----------------------------------------------------------------------------*/
html {
	overflow-y:scroll;
}

body {
	background: #FFFFFF;
	color: #000;
	text-align:center;
}

body, input, textarea {
	font-size:12px;
	line-height:18px;
}

/* Typography
-----------------------------------------------------------------------------*/

h1, h2, h3, h4, h5, h6 {
	font-size:20px;
	line-height:22px;
	font-weight:normal;
	margin-bottom:20px;
}

p, q, cite {
}

p, ul, ol, dl {
	margin-bottom:20px;
}

ul, ol, dl {
	padding-left:20px;
}

li, dd, dt {
	padding:0 0 0 5px;
}
a {
	text-decoration:none;
	color:#000;
	cursor:pointer;
}
#content a, #panel a {
	text-decoration:none;
	color:#d30934;
}
#content a:hover, #content a:focus, #panel a:hover, #panel a:focus, #footer a:hover, #footer a:focus{
	text-decoration:underline;
}

.red {
	color:#d30934;
}
.green {
	color:green;
}

.hidden {
	display:none;
}

#debug {
 padding:5px;
 opacity:0.7;
 position:fixed;
 top:0;
 left:0;
 bottom:0;
 width:200px;
 background-color:#DD5555;
 color:#FFF;
 line-height:20px;
}

/* Elements
-----------------------------------------------------------------------------*/
#wrapper {
	width:924px;
	margin:0 auto 5px auto;
	text-align:left;
}

#header {
	width:924px;
	height:243px;
}
#logo {
	width:924px;
	height:79px;
	padding-top:30px;
	text-align:right;
}
#header_title {
	width:484px;
	height:40px;
	padding:15px 0 15px 440px;
}
#header_title h1 {
	margin:0;
	color:#d82231;
}	
body.home #header_title {
	display:none;
}

#dotted {
	width:924px;
	height:64px;
	background-image:url(../images/header_dots.gif);
	background-repeat:repeat;
}
.home #dotted {
	margin-bottom:-3px;
}
#bar {
	width:924px;
	height:70px;
	display:none;
	background-color:#d30934;
}
#lang {
	padding:40px 0 0 760px;
	color:#FFF;
}
#lang a {
	color:#FFF;
	text-decoration:none;
	border:0;
}
#lang a.on {
	color:#FFF;
	font-weight:bold;
	text-decoration:none;
	border:0;
}

body.home #bar {
	display:block;
}

#main {
	width:924px;
	padding-top:30px;
}
#navi {
	width:145px;
	padding:3px 20px 0 0;
}
#search_td {
	height:60px;
	vertical-align:bottom;
}
#search {
	width:145px;
	padding-top:15px;
}
#search fieldset {
	padding-top:12px;
}
#search input.text {
	width:118px;
	height:14px;
	padding:2px;
	line-height:14px;
	border:1px solid #000;
	margin-right:1px;
	color:#d82231;
	float:left;
}
#search input.submit {
	width:20px;
	height:20px;
	border:0;
	padding:0;
	margin:0 0 0 0;
	background-image:url(../images/search_submit.gif);
	float:left;
}

#content {
	width:515px;
	padding:0 25px 0 25px;
}
body.wide_content #content {
	width:734px;
	padding-right:0px;
}
#panel {
	width:164px;
	padding-left:30px;
}
#panel img {
	margin-top:3px;
}
body.wide_content #panel {
	width:0px;
	padding:0px;
	overflow:hidden;
}
body.wide_content #panel * {
	display:none;
}

#footer {
	width:924px;
	padding-top:30px;
}
#foot_left {
	width:730px;
	float:left;
}
#foot_right {
	width:164px;
	padding-left:30px;
	float:left;
}
/* Styles
-----------------------------------------------------------------------------*/
table.kontakt_list {
	width:100%;
}
table.kontakt_list tr td {
	width:33%;
	padding-top:15px;
	border-bottom:1px solid #000;
}
table.kontakt_list tr.first td {
	padding-top:0px;
}
table.kontakt_list tr td {
	vertical-align:bottom;
}
table.kontakt_list tr td.image {
	text-align:right;
}

table.referenzen {
	width:730px;
}
table.referenzen td.left {
	width:570px;
}
table.referenzen td.right {
	width:160px;
}
table.referenzen td {
	padding:5px 0 5px 0;
	border-bottom:1px solid #000;
}

/* Navigation
-----------------------------------------------------------------------------*/

#navi a {
	color:#000;
	font-weight:bold;
	display:block;
}
#navi a:hover, #navi a.on {
	color:#d82231;
}
#navi a:focus {
	text-decoration:underline;
}

#navi table:hover a {
	color:#d82231;
}

#navi .sub a {
	font-weight:normal;
	line-height:16px;
}

#navi .sub .sub {
	padding-left:12px;
}
/* Footer
-----------------------------------------------------------------------------*/

/* Forms
-----------------------------------------------------------------------------*/
form table.big_form {
	width:100%;
}
form table.big_form label input {
	margin-right:5px;
}

form table.big_form td input {
	width:auto;
}
form table.big_form td textarea {
	width:100%;
	height:80px;
	border:1px solid #BFBFBF;
	background-color:#EFEFEF;
	line-height:14px;
}
form table.big_form td.first {
	width:201px;
	padding-right:10px;
}
form table.big_form td.first input.text, form table.big_form td.first select {
	width:190px;
}
form table.big_form td.second {
	width:90px;
	padding-right:10px;
}
form table.big_form td.second input.text, form table.big_form td.second select {
	width:80px;
}
form table.big_form td.third {
	width:201px;
	padding-right:10px;
}
form table.big_form td.third input.text, form table.big_form td.third select {
	width:190px;
}
form table.big_form td.fourth {
	width:201px;
	padding-right:10px;
}
form table.big_form td.fourth input.text, form table.big_form td.fourth select {
	width:190px;
}
#content input.text, #content select {
	height:14px;
	margin:0 1px 1px 0;
	line-height:14px;
}
#content input.text {
	padding:2px;
	border:1px solid #BFBFBF;
	background-color:#EFEFEF;
}
#content input.submit {
	border:1px solid #BFBFBF;
	font-weight:bold;
}
#content select {
	height:20px;
	line-height:20px;
	background:none; border:0;
	background-color:#EFEFEF;
	border:1px solid #BFBFBF;
}

form table.big_form tr.key_order_hide {
	display:none;
}

/* Map
-----------------------------------------------------------------------------*/
#swiss_map {
	width:730px;
	height:498px;
	background-image:url(/images/swiss_map.jpg);
}
#swiss_map a.pointer {
	width:20px;
	height:20px;
	display:block;
	background-image:url(/images/map_pointer.gif);
	position:absolute;
}
#swiss_map div.name {
	font-weight:bold;
	position:absolute;
	margin:20px 0 0 20px;
}

/* Tables
-----------------------------------------------------------------------------*/

table

	{
  	border-spacing: 0;
	border-collapse: collapse;
}

td, th

	{
  	text-align: left;
	font-weight: normal;
	text-align:left;
	vertical-align:top;
}

