/*------------------------------------------------------------------
common formular-definitions and form-specific definitions

[Table of contents] 

1.	common form-definitions
2.	search-form (home)
2.1.search-form (new search)
3.	discovery-form (home)
4.	newsletter-form (teaser)
5.	addMyTmgsGallery-form
6.  contact-form
7.  overnight-form
8.	specials
9.  shorttrips
-------------------------------------------------------------------*/

/* 1. common form-definitions */
.tmgsForm { font-size:13px; }
.tmgsForm legend { display:none; }
.tmgsForm input { border:0; font-size:13px; color:#888; font-family:Arial, Helvetica, sans-serif; padding-left:3px; }
.tmgsForm select, .tmgsForm textarea { font-family:Arial, Helvetica, sans-serif; }
.tmgsForm .stdSelect { 
	background:transparent url(../img/elements/input.std.back.right.gif) right top no-repeat;
	padding-right:3px;
}
.tmgsForm .stdSelect .wrapper { 
	background:transparent url(../img/elements/input.std.back.left.gif) left top no-repeat; 
	padding:2px 0 3px 1px;
}
.tmgsForm .stdSelect select { 
	border:0;
	display:block;
}
#content .tmgsForm .submit { color:#fff; font-weight:bold; font-size:12px; padding-top:0; }
.tmgsForm .invalidFormField, .labelled .invalidFormField {
    position:absolute; 
    display:none;
    border:1px solid #6d6d6d;
    border-top:0;
    font-size:0.85em;
    background-color:#990000;
    color:#fff;
    padding:3px 3px 3px 8px; 
}
.formSent { margin-left:15px; }

.tmgsForm .stdInputField { float:left; background:transparent url(../img/elements/back.input.default.right.gif) right top no-repeat; padding-right:4px; }
#content .tmgsForm .stdInputField input { background:transparent url(../img/elements/back.input.default.left.gif) left top no-repeat; padding:7px 0 2px 9px; color:#8c8c8c; }

/* 1.b labelled form */
.seamingless{
    background-color: #fff;
    border-color: #000 #DDDACE;
    border-style: none solid;
    border-width: 0 1px;
    clear: left;
    margin: 0 1px 0 8px;
}

.family .seamingless {
    background: none;
    border: none;
    margin: 0 8px;
}

.labelled .section{
    border-bottom: 1px solid #DDDACE;
    padding: 17px;
    margin: 0;
}

.labelled .section > p:last-child{margin-bottom: 0;}

.labelled .section > p{clear: left;}

.labelled .section ul{
    margin-bottom: 0;
}

.labelled .errorGlobal{padding: 17px;}

.labelled .section .sectionText{clear: left;}
.labelled .section .sectionText p{margin-bottom: 5px;margin-top: 10px;}

.labelled legend{display: none;}

.labelled .label, .labelled li > label, .labelled .section > label{
    float: left;
    width: 150px;
    text-align: right;
    margin-right: 8px;
    margin-left: 0 !important;
    clear: left;
}

.labelled .section label, .labelled .section .label{
    padding: 5px 0;
}

.labelled .section .textLabel, .labelled .textLabelled .label, .labelled .textLabelled label{padding-top: 0;}
.labelled .section.textLabelled span{padding-bottom: 5px;}

.labelled .slide{
    display: inline;
    padding: 5px 0 4px 3px;
    margin-right: 3px;
    background: url(../img/elements/back.form.slideLeft.gif) no-repeat left top;
}

.labelled .section .slide input[type="text"]{
    padding-left: 1px;
}

.labelled .slide input[type="text"], .labelled .slide select{
    background: url(../img/elements/back.form.slideRight.gif) no-repeat right top;
    border: none !important;
    margin-right: 0 !important;
}

.labelled select option, .labelled select optgroup{
    background-color: #fff;
}

.labelled .slide select{
    padding-top: 3px;
    padding-right: 3px;
}

.labelled .section > * > *, .labelled .section > ul > li > *{
    margin-left: 158px;
    display: block;
}

.labelled .section .noident {
    margin: 0;
}

.labelled .section > ul > li, .labelled .section > *[class=inline] > *{
    margin-left: 0;
    margin-bottom: 6px;
}

.labelled input[type=text], .labelled textarea, .labelled select{
    border: 1px solid #808080;
    padding: 4px;
    margin-right: 3px;
}

.labelled .small{width: 63px;}
.labelled .tall{width: 133px;}
.labelled .grande{width: 203px;}
.labelled .venti{width: 280px;}

.labelled select{padding: 2px;margin-right: 6px;}
.labelled select.small{width: 71px;}
.labelled select.tall{width: 141px;}
.labelled select.grande{width: 211px;}
.labelled select.venti{width: 288px;}

.labelled .slide select.small{width: 68px;}
.labelled .slide select.tall{width: 138px;}
.labelled .slide select.grande{width: 208px;}
.labelled .slide select.venti{width: 285px;}

.labelled ul ul{
    margin-left: 0;
    float: left;
}

.labelled ul ul li{
    float: left;
}

.labelled ul ul li label{
    float: none;
    clear: none;
    text-align: left;
}

.labelled .header{margin-bottom: 0;}

.labelled .footer{
    padding: 15px 17px 12px;
}

.labelled button.calendar{
    float: none;
    vertical-align: middle;
    background-position: 0 -20px;
    background-repeat: no-repeat;
}

.labelled button.calendar:hover, .labelled button.calendar.active{
    background-position: 0 -20px;
}

.labelled .calendar input{
    width: 95px;
}

.belowFormFooter{
    background: url(../img/elements/back.form.footer.gif) no-repeat left top;
    border-bottom: none;
    padding: 0 17px;
    margin: 0 1px 0 8px;
}

#content .belowFormFooter .btn{
    margin-right: 5px;
    background: url(../img/elements/btn.half.content.right.gif) no-repeat right top;
}
#content .belowFormFooter .btn .innerBtn{background: url(../img/elements/btn.half.content.left.gif) no-repeat left top;}


/* 2. search-form (home) */
.formSearch { padding-left:1px; }
.formSearch fieldset { margin-bottom:4px; }
.formSearch #searchTerm, .formSearch #searchTermNew {
	background:transparent url(../img/elements/back.input.left.gif) left top no-repeat;
	float:left;
	padding:7px 0 6px 11px;
	width:209px;
}
.formSearch #searchSubmit, .formSearch #searchSubmitNew {
	float:left;
	background:transparent url(../img/elements/back.search.submit.gif) left top no-repeat;
	height:29px;
	width:28px;
	cursor:pointer;
}

/* 2.1. search-form (new search) */
.formNewSearch { 
    padding:14px 0 9px 6px;
    border:1px solid #dddbcf;
    border-top:0;
    background-color:#fff;
    margin:0 1px 2px 8px;
}
.formSearch #searchTermNew { width:329px; }

/* 3. discovery-form (home) */
.discoveryForm { overflow:hidden; background:transparent url(../img/elements/shadow.map.form.bottom.png) left bottom no-repeat; font-size:100%; }
.discoveryForm fieldset { 
	background:transparent url(../img/elements/shadow.map.form.body.png) left top repeat-y; 
	margin:5px 0 9px 0; 
	display:block;
}
.discoveryForm input, .discoveryForm label { font-size:1.2em; float:left; }
.discoveryForm input {  margin-left:32px; }
.discoveryForm label { padding:3px 17px 6px 10px; }
.discoveryForm .stdSelect { float:left; }
.discoveryForm select { font-size:13px; width:164px; }
.discoveryForm #discovery_submit { 
	margin-top:2px;
	margin-left:27px;
	padding:5px 0 5px 28px;
	background:transparent url(../img/elements/pointer.circle.png) no-repeat scroll left 0;
	font-weight:bold;
	color:#00652e;
	cursor:pointer;
	text-align:left;
}
.discoveryForm #discovery_theme { margin-top:4px; }
.discoveryForm #discovery_activities_lbl { padding-top:5px; }

/* 4. newsletter-form (teaser) */
.newsletterForm fieldset { margin:0; }
.newsletterForm { font-size:12px; }
.newsletterForm label { font-weight:bold; margin-bottom:4px; display:block; padding-left:4px; }
.newsletterForm input { margin-bottom:12px; width:182px; }
.newsletterForm select { margin-bottom:12px; width:185px; font-size:13px; color:#888888; }
.newsletterForm #newsletter_dataprotection_lbl { 
	font-size:11px; 
	float:left; 
	padding-top:2px; 
	font-weight:normal; 
	line-height:1.15em; 
	width:162px; 
}
.newsletterForm #newsletter_dataprotection { float:left; margin: 2px 3px 3px 1px; width:auto; }
.newsletterForm .innerContent { padding:17px 5px 0 6px; }
.newsletterTeaser .newsletterForm .innerContent p { line-height:1.15em; padding-bottom:14px; padding-left:2px; }

/* 4. standard teaser form (teaser) */
.teaser form fieldset { margin:0; }
.teaser form{ font-size:12px; }
.teaser form label { font-weight:bold; margin-bottom:4px; display:block; padding-left:4px; }
.teaser form input { margin-bottom:12px; width:182px; }
.teaser form select { margin-bottom:12px; width:185px; font-size:13px; color:#888888; }
.teaser form .innerContent { padding:17px 5px 0 6px; }
.teaser form .innerContent p { line-height:1.15em; padding-bottom:14px; padding-left:2px; }

/* 4. b accommodation form (teaser) */
.teaser .accommodationForm .btn{
    margin-left: 24px;
    width: 147px;
}

.teaser .bookingForm.content .innerContent .btn input {
    background: transparent url(../img/elements/pointer.white.gif) no-repeat 10px 7px;
    font-weight: bold;
    width: 130px;
}

.teaser .bookingForm label{
    clear: left;
}

.teaser .bookingForm .wrapper{
    float: left;
}

.teaser .bookingForm .wrapper *{
    float: left;
}

.teaser .bookingForm .wrapper #checkin_monthday, .teaser .bookingForm .wrapper #checkout_monthday{
    width: 38px;
    margin-right: 5px;
}

.teaser .bookingForm .wrapper #checkin_year_month, .teaser .bookingForm .wrapper #checkout_year_month{
    width: 107px;
    margin-right: 5px;
}

.teaser .bookingForm select, .teaser .bookingForm input[type="text"]{
    padding: 1px;
}

/* 5. addMyTmgsGallery-form */
.addGallery { display:none; }
.showAddGallery { display:block; }

/* 6. contact-form */
#content .contactPageBound { height:auto; padding-left:5px; }
#content .contactPageBound .allBackContentBlock { background:transparent url(../img/elements/shadow.pagebound.contact.gif) no-repeat scroll left top; }
#content .contactPageBound .contentBlock .contentOuterBlockText { background:transparent none; }
#contactForm { background-color:#fff; margin-left:8px; border:1px solid #DDDACE; border-top:0; margin-right:1px; padding-top:26px; }
#contactForm .lbl { width:125px; float:left; color:#555754; text-align:right; margin-right:14px; padding-top:4px; }
#contactForm .lblAnrede, #contactForm .lblLand { padding-top:6px; }
#contactForm .lbl label { font-size:0.95em; }
#contactForm select, #contactForm input { 
    /*display:block; dies rendert hidden inputfields */ 
    float:left; 
    margin:0 10px 9px 0; 
    color:#080808;
    font-size:13px;
}
#contactForm input { 
    padding:4px 0 0 8px; 
    height:20px; 
    width:241px;
    background:#fff url(../img/elements/back.input.contact.half.gif) left top no-repeat; 
}
#contactForm select { height:22px; width:248px; padding:2px 0 0 3px; border:1px solid #808080; }
#contactForm #strasse { width:386px; background:#fff url(../img/elements/back.input.strasse.contact.gif) left top no-repeat; margin-right:11px; }
#contactForm #hausnr { width:95px; background:#fff url(../img/elements/back.input.hnr.contact.gif) left top no-repeat; }
#contactForm #plz { width:152px; background:#fff url(../img/elements/back.input.plz.contact.gif) left top no-repeat; }
#contactForm #ort { width:330px; background:#fff url(../img/elements/back.input.ort.contact.gif) left top no-repeat; }
#contactForm #privacy { width:14px; margin:9px 0 0 139px; }
#contactForm #privacy_lbl { width:485px; margin:10px 0 0 6px; font-size:12px; display:block; float:left; line-height:14px; }
#contactForm textarea { 
    width:494px; 
    height:148px; 
    color:#080808; 
    font-size:13px; 
    padding:3px 7px;
    background:#fff url(../img/elements/back.tarea.contact.gif ) left top no-repeat;
    border:0;
}
#contactForm #note { margin:9px 0 0 139px; font-size:12px; }
#contactForm .contactBtn { margin:26px 0 0 139px; cursor:pointer; }
#contactForm .contactBtn input { 
    background:transparent url(../img/elements/pointer.dotted.white.gif) 9px 7px no-repeat; 
    padding-left:20px; 
    width:123px;
}
#content #contactForm p.error { margin:0 0 15px 139px; }

/* 7. overnight-form */
.overnightForm #search_city {float: left;}
.overnightForm #wrapper_search_city .slide{float: left;padding-top: 0 !important; padding-bottom: 1px !important;}

.overnightForm ul ul li{
    width: 160px;
}

.overnightForm .detailListHousing, .overnightForm .detailListRoom{
    width: 400px;
}

.overnightForm .detailListRoom {
    margin-bottom: 0;
}

.overnightForm .detailListRoom li{
    clear: left;
    width: auto;
}

.overnightForm #search_end_cal, .overnightForm #search_begin_cal{
    width: 250px;
}

.overnightForm .detailsArea{width: 500px;margin-bottom: 0;}

.overnightForm .section .areaLabel{margin-right: 300px;margin-bottom: 10px;}
.overnightForm .section .detailsAreaWrapper{margin-left: 60px; float: left;}

.overnightForm .detailsArea li{width: 200px; margin-bottom: 7px;}
.overnightForm .section .detailsArea li *{float: left;}

.overnightForm .section .detailsArea li .slide{padding-top: 0 !important; padding-bottom: 1px !important;}

.overnightForm .section .detailsArea li input{width: 63px;}
.overnightForm .section .detailsArea li label{width: 95px; text-align: right;}
.overnightForm .section .detailsArea li span{padding: 5px 0;}

#content .overnightForm .footer .contactBtn{margin-right: 50px; float: right;}

.overnightForm #gg_maps{
    padding: 0;
    overflow: hidden;
}

.overnightForm .toggler{
    background: #FFFFFF url(../img/elements/back.listView.row.gif) repeat-x left bottom;
    display: block;
    overflow: hidden;
    padding: 5px 0;
    text-decoration: none;
    font-size: 0.9em;
}

.overnightForm .toggler .left{
    height: 20px;
    padding: 5px 0 0 50px;
    background: transparent url(../img/elements/pointer.circle.tobottom.png) no-repeat 11px 0;
    float: left;
}

.overnightForm .activeToggler .left{
    background-image: url(../img/elements/pointer.circle.totop.png);
}

.overnightForm .toggler .left strong{
    color: #00652E;
    padding: 5px 0 6px;
}

.overnightForm .toggler .right span{
    color: #00652E;
}

.overnightForm .toggler .right{
    float: left;
    margin-left: 16px;
    padding-left: 17px;
    width: auto;
    padding-top: 5px;
}

.overnightForm #label_search_room_type, .overnightForm #wrapper_search_room_type{float: left;}

.overnightForm #wrapper_search_detail_room{clear: left;}

.overnightForm #wrapper_search_room_type{margin-right: 3px;}

.overnightForm p.error{
    padding: 10px 15px;
}

.overnightForm .section input{
    color: #333;
}

form span.sep, form span.sep{
    padding: 0 4px 0 1px;
}

.overnightForm #search_begin_year, .overnightForm #search_end_year{
    width: 95px;
}

/* 7.2 booking query form */
.overnightQuery #label_query_step1_room_type{float: left;}
.overnightQuery #wrapper_alternative{clear: left;}


/* 7.3 overnight details form */
.overnightDetails .contentBlock .rooms .entry #wrapper_details_begin,
.overnightDetails .contentBlock .rooms .entry #wrapper_details_end
{width: 100%;}

.overnightDetails .calendar input{width: 75px;}

/* 7.4 contact form */
#contactForm .overnightForm .mapView .innerBtn a { font-size:0.95em; }
#contactForm .overnightForm .lbl { width:160px; }
#contactForm .dateDay { width:95px; background:#fff url(../img/elements/back.input.hnr.contact.gif) left top no-repeat; }
#contactForm .dateMonth { width:95px; background:#fff url(../img/elements/back.input.hnr.contact.gif) left top no-repeat; }
#contactForm .dateYear { width:95px; background:#fff url(../img/elements/back.input.hnr.contact.gif) left top no-repeat; }

#contactForm fieldset.detail .detailListHousing label, #contactForm fieldset.detail .detailRoom label { float:left; }
#contactForm fieldset.detail .housing li label, #contactForm fieldset.detail .room li label { width:auto; text-align:left; float:none; }
#contactForm fieldset.detail .housing li { float:left; }

#contactForm fieldset.detail ul { float:left; width:410px; }
#contactForm fieldset.detail .housing  ul input, #contactForm fieldset.detail .room  ul input { width:20px; height:15px; margin:0; background-image: none; }
#contactForm fieldset.detail li { width:205px; margin:0 0 3px 0; }


#contactForm fieldset.detail .area { width:484px; }
#contactForm fieldset.detail .area ul { margin-left:76px; }
#contactForm fieldset.detail .area li { float:left; overflow:hidden; }
#contactForm fieldset.detail .detailsArea label { float:left; width:90px; text-align:right; margin-right:10px; }
#contactForm fieldset.detail .area label.areaLabel { float:none; text-align:left; width:410px; }
#contactForm fieldset.detail .area input { width:68px; float:left; }
#contactForm fieldset.detail .area span { float:left; display:block; }
#contactForm .overnightForm .btn .innerBtn .submit { width:130px; font-size:0.95em; padding:0 0 1px 25px; margin:0; }

/* 8. specials */
form.specials button.calendar { margin:1px 4px 0px 2px; }
form.specials input#special_date_from, form.specials input#special_date_to { border:1px solid #ccc; width:95px; }
form.specials #special_date_from { margin-left:8px; }
form.specials #special_date_to { margin-left:18px; }
form.specials { padding-left:0; }
form.specials label { font-size:0.95em; font-weight:bold; float:left; padding:4px 0 0 0; }
form.specials label.place_category { width:33px; }
form.specials select.place_category, form.specials div.place_category { margin-right:45px; }
form.specials select.place_category { width:240px; }

form.specials label.date_to { margin-left:9px; color:#03662f; }
form.specials select.date_resultcount, form.specials div.date_resultcount {  margin-left:11px; }
form.specials select.date_resultcount { width:100px; }

#content form.specials select, #content form.specials div.saltBox { float:left; margin-bottom:7px; }
form.specials .textSearch input {
	color:#080808;
	display:block;
	float:left;
	font-size:13px;
	margin:0;
	height:20px;
	padding:4px 0 0 8px;
	width:355px;
}
form.specials label.searchResultCount { margin-right:31px; }


/* 9 booking (including steps) */
.spacer{
    margin-bottom: 25px !important;
}

.overnightBooking{
    min-height: 520px;
}

.overnightBooking .cancel{
    margin-left: 15px;
    padding: 6px 0;
}

.overnightBooking .confirm{
    margin: 15px 0;
}

.overnightBooking #wrapper_booking_step3_tos label{margin-right: 0;}

.overnightBooking .calculationSum{
    border-top: 1px solid #DDDACE;
    margin-top: 1px;
}

.overnightBooking .calculationSum p{
    margin-bottom: 0;
}

.overnightBooking .average{
    padding-left: 25px;
}

.fright{
    float: right !important;
}

.fleft{
    float: left !important;
}

ol.steps{
    float: left;
    margin: 10px 17px 15px;

}
ol.steps li{
    float: left;
    padding-left: 50px;
    background: url(../img/elements/form.booking.arrow.gif) no-repeat 20px 7px;
}

ol.steps li:first-child{
    padding-left: 0;
    background: none;
}

ol.steps li span > span{
    display: none;
}

ol.steps li span{
    display: block;
    height: 20px;
}

ol.steps li.step1 span{width: 185px;background-position: 0 0;}
ol.steps li.step1.active span{background-position: 0 -20px;}
ol.steps li.step1.inactive span{background-position: 0 -40px;}

ol.steps li.step2 span{width: 107px;background-position: -188px 0;}
ol.steps li.step2.active span{background-position: -188px -20px;}
ol.steps li.step2.inactive span{background-position: -188px -40px;}

ol.steps li.step3 span{width: 96px;background-position: -296px 0;}
ol.steps li.step3.active span{background-position: -296px -20px;}
ol.steps li.step3.inactive span{background-position: -296px -40px;}

ol.steps li.step4 span{width: 105px;background-position: -395px 0;}
ol.steps li.step4.active span{background-position: -395px -20px;}
ol.steps li.step4.inactive span{background-position: -395px -40px;}

.overnightBookingPageBound ol.steps li span{
    background-image: url(../img/elements/form.booking.steps.gif);
    background-repeat: no-repeat;
}

#content .overnightQueryPageBound, #content .overnightBookingPageBound{height: auto}

.overnightQueryPageBound ol.steps li span{
        background-image: url(../img/elements/form.query.steps.gif);
    background-repeat: no-repeat;
}

.overnightQueryPageBound ol.steps li.step1 span{width: 142px;}


/* 9 shorttrips */
#shorttrips #shorttrips_booking_period, #shorttrips #shorttrips_booking_address { width:298px; }
#shorttrips #shorttrips_booking_room_first_type, #shorttrips #shorttrips_booking_room_second_type { width:147px; }
