@CHARSET "UTF-8";

/*
@import 'screen.css' screen;
@import 'print.css' print;
@import 'mobile.css' handheld;
*/

/* ********************* BEGIN SHARED CSS (HEADER ETC) ********************** */

body {
	/* layout */
	margin: 0;
  /* color */
	color: #333;
  /* typo */
  font-family: Arial, sans-serif;
  font-size: 10pt;
  line-height: 1.3em;
}

h1 {
  /* layout */
  /* color */
  color: #FF333D;
	/* typo */
  font-family: Arial, sans-serif;
  font-size: 16pt;
  font-weight: normal;
}

a {
  /* layout */
  /* color */
  color: #5257a4;
	/* typo */
  text-decoration: none;
}

a > img {
  border: none;
  margin: 1px;
}

a.active > img {
  border: 1px solid #c00;
  margin: 0;
}

div#header {
  /* layout */
	margin: 0;
	height: 140px;
  /* color */
	background: url(/media/img/layout/header_background.png) repeat-x scroll 0 21px; 
}

div#main {
  width: 960px;
  position: absolute;
  left: 50%;
  margin: 0 auto 0 -480px;
  padding-bottom: 100px;
}

#nav_info {
  /* layout */
  text-align: right;
  padding: 1px 0 2px 0;
	/* color */
  background: url(/media/img/layout/hintergrund_metaleiste.png); 
  color: #333;
  /* typo */
}

#nav_info a {
  /* color */
	color: #333;
  /* typo */
	font-family: Verdana, sans-serif;
  font-size: 8pt;
}

#nav_info > div,
div#nav_main {
  width: 960px;
  margin: 0 auto;
}

#nav_info > div > a {
  padding: 0 7px 0 5px;
  border-right: 1px solid #333;
}

#nav_info span {
  padding-left: 3px;
}

#nav_info img {
  vertical-align: middle;
}

div#nav_main > div {
	width: 239px;
	height: 35px;
	text-align: center;
	padding-top: 15px;
	vertical-align: middle;
	float: right;
}

div#nav_main > a > img {
	padding-top: 14px;
}

ul.navigation {
	/* layout */
	position: relative;
	top: -47px;
	right: 238px;
  padding: 0;
  clear: left;
  /* typo */
  font-size: 9pt;
  font-weight: bold;
}

ul.navigation + div {
  /* layout */
  clear: both;
  position: relative;
  top: -97px;
  float: right;
  /* color */
  color: #fff;
  background: url(/media/img/layout/header_background_tel.png); 
  /* typo */
  font-family: Arial, sans-serif;
  font-size: 13pt;
}

ul.navigation > li {
  background-image: url(/media/img/layout/header_menu_btn.png);
}

ul.navigation > li > a:hover {
  background-color: #fff;
}

ul.navigation > li,
ul.subnavigation > li,
ul.actions > li {
  list-style-type: none;
	float: right;
	text-align: center;
	margin-right: 2px;
}

ul.navigation > li > a,
ul.subnavigation > li > a {
	display: table-cell;
	vertical-align: middle;
  width: 136px;
  height: 50px;
}

ul.navigation > li.active > a,
ul.subnavigation > li.active > a {
	color: #FF333D;
  background-color: #fff;
}

ul.subnavigation {
	/* layout */
  padding: 0;
  margin-top: 0;
  /* typo */
  font-size: 9pt;
  font-weight: bold;
}

ul.subnavigation + div#tw_content {
  padding-top: 0;
}

ul.subnavigation > li {
  float: left;
}

ul.subnavigation > li > a:BEFORE {
  margin-right: 5px;
  vertical-align: -4px;
}

ul.subnavigation > li > a#menu-index:BEFORE {
  content: url(/media/img/icons/liste_uebersicht.gif);
}

ul.subnavigation > li > a#menu-compact:BEFORE {
  content: url(/media/img/icons/liste_kompakt.gif);
}

ul.subnavigation > li > a#menu-map:BEFORE {
  content: url(/media/img/icons/liste_map.gif);
}

ul.subnavigation > li.active > a#menu-index:BEFORE {
  content: url(/media/img/icons/liste_uebersicht_aktiv.gif);
}

ul.subnavigation > li.active > a#menu-compact:BEFORE {
  content: url(/media/img/icons/liste_kompakt_aktiv.gif);
}

ul.subnavigation > li.active > a#menu-map:BEFORE {
  content: url(/media/img/icons/liste_map_aktiv.gif);
}

div#tw_content {
  clear: both;
  padding-top: 20px;
}

table {
	border-collapse: collapse;
}

table tr {
  border-bottom: 1px solid white;
}

table th {
	text-align: left;
	vertical-align: top;
}

table th, table td {
  padding: 5px 10px 15px 10px;
}
/* ***************************** END SHARED CSS ***************************** */




/* ******************************* BEGIN FORMS ****************************** */

form {
  /* layout */
  padding: 0 20px;
	/* color */
	background-color: #eeedf2;
	/* typo */
  font-family: Verdana, sans-serif;
  font-size: 8pt;
}

.zend_form {
  margin: 0;
}

form fieldset {
  border: none;
  padding-top: 10px;
}

/* element groups */
form > dl > dd {
  border-bottom: 1px solid white;
}

/* elements */
.zend_form dd {
  margin: 0 0 10px 0;
}

span.required {
  color: #C33;
}

.zend_form label.required:after {
  /* layout */
  content: "*";
  /* color */
  color: #C33;
}

.zend_form dd > input[type=text],
.zend_form dd > input[type=password] {
  /* layout */
  padding: 5px;
  width: 240px;
  /* color */
  border: 1px solid #E1E1E1;
  /* typo */
}

.zend_form dd > textarea {
  /* layout */
  padding: 5px;
	width: 480px;
  /* color */
  border: 1px solid #E1E1E1;
	/* typo */
}

.zend_form dd > input[type=text]:focus,
.zend_form dd > input[type=password]:focus,
.zend_form dd > textarea:focus {
  border: 1px solid #FF333D;
}

.zend_form dd input.errors {
  border: 2px solid #FF333D; 
}

div#contact_form #kommentar {
	width: 240px;
}
	
.zend_form > dt {
  display: none;
}

.zend_form fieldset > legend {
	/* layout */
  margin-bottom: 20px;
  padding: 0;
  /* typo */
  font-size: 12pt;
  text-decoration: underline;
}

fieldset dt {
	float: left;
	width: 160px;
	padding-right: 10px;
}

p.description {
	margin: 0; 
}

p.description + input,
p.description + select {
	margin-left: 170px;
}

ul.errors {
	margin-left: 170px;
	list-style-type: none;
	padding: 0;
}

ul.errors > li {
  color: #FF333D;
}

/* ******************************* END FORMS ******************************** */


/* ****************************** BEGIN INDEX ******************************* */

div#tw_index {
	float: left;
	width: 715px;
}

div#tw_index > div#tw_welcome + div {
  width: 535px;
}

div#tw_index > div#tw_welcome > p {
  font-size: 11pt;
}

div#tw_index > div > h2 {
  /* layout */
  margin-top: 50px;
	/* color */
  color: #FF333D;
  /* typo */
  font-size: 11pt;
}

/* image overlay */
div#tw_index > div#tw_teaser {
  background: url(/media/img/layout/teaser.jpg);
  width: 720px;
  height: 269px;
}

div#tw_index > div#tw_teaser > p {
	/* layout */
  margin: 0;
  padding: 0;
  display: none;
  /* color */
  background-color: #FF333D;
  width: 209px;
  padding: 10px 15px;
  
}

div#tw_index > div#tw_teaser > p:FIRST-CHILD {
  display: inherit;
}

div#tw_index > div#tw_teaser > p > a {
	/* color */
  color: #fff;
  /* typo */
  font-size: 11pt;
}

div#tw_welcome + div {
	margin-top: 200px;
	padding-left: 15px;
}

div#tw_welcome {
  position: absolute;
}

div#tw_welcome > ul {
	padding: 0;
	margin: 0;
}

div#tw_welcome > ul > li {
	float: left;
	list-style-type: none;
	width: 209px;
	height: 125px;
	padding: 15px;
	margin-left: 1px;
  background: url(/media/img/layout/teaser_box.png);
}

div#tw_welcome > ul > li > h1 {
	/* color */
  color: #666;
  /* typo */
  font-size: 10pt;
  font-weight: bold;
}

div#tw_welcome > ul > li#tw_welcome_box_last {
  background: url(/media/img/layout/teaser_box_right.png);
}

div#tw_welcome > ul > li:FIRST-CHILD {
  margin-left: 0px;
  width: 210px;
}

/* ******************************* END INDEX ******************************** */



/* ***************** BEGIN CONTACT / IMPRESSUM / AGB / FAQ ****************** */

div#impressum_disclaimer,
div#contact_form {
	float: left;
	width: 480px;
}

div#contact_form > p {
  margin: 0;
  padding: 15px 25px;
}

div#contact_content {
	margin-left: 550px;
}

div#contact_content > table {
  margin-bottom: 50px;
}

div#contact_content > table tr {
  background-color: #EAEDF8;
}

div#agb_content,
div#faq_content {
	width: 550px;
}

div#faq_content h2 {
  margin: 20px 0 0 0;
  font-size: 11pt;
}

/* ****************************** END CONTACT ******************************* */


/* ***************************** BEGIN BUCHUNG ****************************** */

div#booking_form {
  float: left;
  width: 720px;
}

div#contact_form > h1,
div#booking_form > h1 {
	/* layout */
  margin: 0;
  padding: 15px 25px;
  /* color */
  color: #6666CC;
  /* typo */
  font-family: Arial, sans-serif;
  font-size: 15pt;
  line-height: 1.2em;
}

div#contact_form > h1,
div#contact_form > p {
  background-color: #eeedf2;
}

div#booking_form > h1,
div#booking_form > p {
  background-color: #dde4f2;
}


div#contact_form > p,
div#booking_form > p {
  margin: 0;
	padding: 0px 25px 15px 25px;
}

div#booking_form > form {
  background-image: url("/media/img/layout/hintergrund_buchung.png");
}
  
div#booking_info {
  margin-left: 740px;
}

#wohnung + img, #wohnung + ul.errors + img {
    vertical-align: top;
    margin: 0 10px;
}

#wohnung + img + span, #wohnung + ul.errors + img + span {
    vertical-align: top;
}

div.postal_code_city > input {
  /* layout */
  padding: 5px;
  width: 140px;
  /* color */
  border: 1px solid #E1E1E1;
}

div.postal_code_city > input:FIRST-CHILD {
  padding: 5px;
  width: 75px;
  margin-right: 9px;
}

div.postal_code_city > input:focus {
  border: 1px solid #FF333D;
}

div.postal_code_city > input.errors {
  border: 2px solid #FF333D; 
}

#submit-element {
	text-align: right;
}

#submit-element input {
	/* layout */
  width: 160px;
  padding: 5px 10px;
  /* color */
  border: none;
  color: #fff;
  background-color: #6672cc;
}

#affiliate {
	text-align: center;
  margin: 50px 0;
}

/* ****************************** END BUCHUNG ******************************* */


/* ************************ BEGIN APARTMENT OVERVIEW ************************ */

div#apartment_list {
	width: 711px;
	float: left;
}

#apartment_search {
  margin-left: 721px;
}

div#apartment_list + #apartment_search {
  padding-top: 10px;
}

#apartment_search > p {
	/* layout */
  padding: 10px 15px;
  margin: 0;
  /* color */
  background-color: #FF333D;
  color: #fff;
  /* typo */
  font-size: 11pt;
}

#apartment_info form {
  padding: 0 5px;
}

#apartment_search > form {
	padding: 0 5px 15px 5px;
  background-color: #EAEDF8;
}

#apartment_search fieldset dt {
	width: 55px;
}

#apartment_search form dd.submit,
#apartment_info form dd.submit {
	text-align: center;
	margin: 20px 0 9px 0;
}

#apartment_search form dd {
	border: none;
}


#apartment_search form input#submit,
#apartment_info form input#submit {
	/* layout */
  padding: 5px 50px;
  border: none;
  /* color */
  color: #fff;
  background-color: #6672cc;
}

#apartment_search > form input[type=text] {
  width: 125px;
  height: 17px;
}

#apartment_search > form input[type=submit] {
  font-size: 10pt;
}

#apartment_search select {
	width: 135px;
	height: 25px;
}
	
div.apartment {
  margin: 10px 0;
}

div.apartment h1 {
  /* layout */
  margin: 0px;
  display: inline; 
  /* color */
  color: #6666CC;
  background-color: #EAEDF8;
  /* typo */
  font-size: 10pt;
  font-weight: bold;
}

div.apartment > div {
  background-color: #EAEDF8;
}

div.apartment > div:FIRST-CHILD {
  padding: 10px;
}

div.apartment > div:FIRST-CHILD + div {
  background-image: url("/media/img/layout/hintergrund_wohnungscontainer.png");
}

#amenities {
  list-style-type: none;
  margin: 0;
  padding: 0;
  float: right;
}

#amenities li {
  background: url("/media/img/icons/amenities.gif") no-repeat scroll 0 0 transparent;
  display: block;
  height: 20px;
  width: 20px;
  float: left;
  margin-left: 0.3em;
}

#amenities li#balkon {
	background-position: -20px 0;
}

#amenities li#buegeln {
  background-position: -40px 0;
}

#amenities li#dusche {
  background-position: -60px 0;
}

#amenities li#dvd {
  background-position: -80px 0;
}

#amenities li#geschirr {
  background-position: -100px 0;
}

#amenities li#handtuch {
  background-position: -120px 0;
}

#amenities li#kinderbett {
  background-position: -140px 0;
}

#amenities li#nonsmoker {
  background-position: -160px 0;
}

#amenities li#parken {
  background-position: -180px 0;
}

#amenities li#radio {
  background-position: -200px 0;
}

#amenities li#sauna {
  background-position: -220px 0;
}

#amenities li#toaster {
  background-position: -240px 0;
}

#amenities li#tv {
  background-position: -260px 0;
}

#amenities li#wlan {
  background-position: -280px 0;
}

div.apartment_preview img {
  display: block;
}

div.apartment_preview {
  float: left;
  width: 160px;
}

div.apartment_preview > a {
	/* layout */
	text-align: center;
	display: block;
	padding: 5px 0;
	width: 150px;
	/* color */
  background-color:#6672CC;
  color: #fff;
}

div.apartment_info {
  margin: 1px 0 0 170px;
  
}

div.apartment_info > p {
  margin: 0 80px 0 0;
  padding-top: 10px;
}

div.apartment_info > p:FIRST-CHILD {
  font-weight: bold;
}

div.apartment_info > p.apartment_actions {
  text-align: right;
	margin: 0;
}

p.apartment_actions > a {
	/* layout */
  margin: 0 15px;
  /* typo */
  font-weight: bold;
}

a.apartment_action_view:BEFORE {
  content: url(/media/img/icons/lupe.gif);
  margin-right: 5px;
  vertical-align: -5px;
}

a.apartment_action_book:BEFORE {
  content: url(/media/img/icons/haken.gif);
  margin-right: 5px;
  vertical-align: -5px;
}

#apartment_compact {
	width: 710px;
	margin-top: 8px;
	border-collapse: separate;
}

#apartment_compact td {
  padding: 0;
  background-color: #EAEDF8;
}

#apartment_compact td + td {
  width: 100%;
}

#apartment_compact td > span {
	/* layout */
  padding: 5px;
  margin: 0;
  /* color */
  color:#6666CC;
  /* typo */
  font-size:10pt;
  font-weight:bold;
}

#apartment_compact td > div {
  width: 60px;
  text-align: center;
}

#apartment_compact td > a {
	/* layout */
  display: block;
  padding: 5px 0;
  text-align: center;
  width: 150px;
  /* color */
  background-color: #6672CC;
  color: #FFFFFF;
}
	
/* ************************* END APARTMENT OVERVIEW ************************* */


/* ************************ BEGIN APARTMENT DETAILS ************************* */

#apartment_view {
	margin: 10px 0;
  width: 480px;
  float: left;
}

#apartment_view h1 {
	margin-bottom: 0;
  font-size: 11pt;
  font-weight: bold;
}

#apartment_view h1 + h2 {
  margin-top: 0;
}

#apartment_view h2 {
	/* layout */
  clear: right;
  /* color */
  color: #FF333D;
  /* typo */
  font-size: 10pt;
}

#apartment_view > a#booking {
  float: right;
}

#apartment_view table {
	  margin: 0 0 50px 0;
}

#apartment_view table .cleaning_included {
  color: #FF333D;
}
  
#apartment_view th {
  text-align: center;
}

#apartment_view table > tbody > tr:nth-child(odd) {
  background-color: #EAEDF8;
}
  
#apartment_view > table > tbody > tr > th,
#apartment_view > table td {
  padding: 2px 11px;
}

#apartment_view div#apartment_planner table,
#apartment_planner tr,
#apartment_planner td,
#apartment_planner th {
	border-collapse: separate;
  margin: 0;
  padding: 0;
}

#apartment_view div#apartment_planner > table {
  margin: 20px 0 50px 0;
  border: 1px solid #666;
}

#apartment_info {
  margin-left: 585px;
}

#apartment_info > div {
  padding: 10px 25px;
  margin-bottom: 5px;
  background-color: #EEEDF2;
}

#apartment_info > div > p {
  color: #6666CC;
}
  
#apartment_info ul,
#apartment_view ul {
	margin: 0;
  padding: 0;
  list-style-type: none;
}

#apartment_info ul > li > a {
  font-weight: bold;
}

#apartment_info ul > li > a:before {
	content: "> ";
}

div#apartment_gallery a {
	/* layout */
	text-align: center;
	padding-bottom: 3px;
	display: block;
	float: left;
	width: 30px;
	margin-right: 10px;
	/* color */
  background-color: #6666CC;
  color: #fff;
}

div#apartment_gallery > div.gallery > div {
  width: 320px;
}

div#apartment_gallery > div.gallery > img {
  margin-bottom: 10px;
}

div#apartment_gallery span {
  /* layout */
  display: block;
  text-align: right;
  margin-left: 270px;
	width: 50px;
  /* color */
  color: #6666CC;
}

div#apartment_gallery + div.gallery {
	clear: both;
}

#apartment_info > div#map_wrapper {
	height: 320px;
}

#apartment_info form,
#apartment_info fieldset {
  padding: 0;
  padding-bottom: 10px;
}

#apartment_info fieldset dt {
  width: 60px;
}

#apartment_info textarea {
  width: 320px;
  padding: 0;
}

div.apartment_comment {
	/* layout */
  padding: 1px 15px;
  margin-bottom: 5px;
  /* color */
  background-color: #fff;
}

div.apartment_comment h3 {
  font-size: 10pt;
}

div#tw_content > div#map_wrapper {
  height: 700px;
}

div#apartment_details {
	clear: both;
}

div#apartment_footer {
	text-align: center;
}

div#apartment_footer > a {
  font-size: 8pt;
}

div#apartment_footer > a:BEFORE {
	content: " | ";
}

div#apartment_footer > a:FIRST-CHILD:BEFORE {
  content: "";
}

/* ************************* END APARTMENT DETAILS ************************** */


/* ****************************** BEGIN TIPPS ******************************* */
div#tipps {
	float: left;
	width:710px;
}
	
div#tipps_info {
  /* layout */
	margin-left:720px;
  padding: 1px 30px;
  /* color */
  background-color: #EAEDF8;
  color:#6666CC;
}

div#tipps_info h2 {
  /* color */
	background-color: #EAEDF8;
  color:#6666CC;
  /* typo */
  font-size: 11pt;
}

div#tipps_info > div.tipp {
  padding-top: 5px;
}

div#tipps h2 {
	/* layout */
	padding: 10px 0 10px 188px;
	clear: left;
	/* color */
  background-color: #EAEDF8;
  color:#6666CC;
  /* typo */
  font-size: 11pt;
}

div.tipp img {
	float: left;
}
	
div.tipp > div {
  margin-left: 188px;
}

div.tipp > h2,
div.tipp > b + p {
  margin-top: 0;
}

/* ******************************* END TIPPS ******************************** */


/* ********************************* OTHERS ********************************* */

form > dl > dd#hash-element,
form > dl > dd#action-element {
	border: none;
}

div.default_view {
	width: 640px;
}

div.default_view > h2 {
	padding: 10px;
  background: #EEEDF2;
}

.actions img {
	margin-top: 10px;
}

div#booking_contact > table {
	border-collapse: separate;
}

div#booking_contact > table > tbody > tr > td {
	padding: 10px;
  background-color: #EEEDF2;
}

p.message {
  text-align: center;
  color: #FF333D;
}
