@font-face {
    font-family: 'open_sansregular';
    src: url('fonts/opensans_regular/OpenSans-Regular-webfont.eot');
    src: url('fonts/opensans_regular/OpenSans-Regular-webfont.eot?#iefix') format('embedded-opentype'),
         url('fonts/opensans_regular/OpenSans-Regular-webfont.woff') format('woff'),
         url('fonts/opensans_regular/OpenSans-Regular-webfont.ttf') format('truetype'),
         url('fonts/opensans_regular/OpenSans-Regular-webfont.svg#open_sansregular') format('svg');
    font-weight: normal;
    font-style: normal;
}

html{
	margin: 0;
	padding: 0;
	-ms-text-size-adjust: 100%;
  	-webkit-text-size-adjust: 100%;
}

body{
	margin: 0;
	padding: 0;
	font-family: 'open_sansregular', Arial;
	color: #555;
	font-size: 1em; /*16px*/
	line-height: normal;
	background-color: #f07f23;
}

img{
	border: none;
}

p{
	margin-top: 0;
	line-height: 1.5em;
}

a{
	text-decoration: none;
	color: #066e95;
	cursor: pointer;
}

ul{
	padding-left: 25px;
	margin: 0;
}


h1{
	font-size: 2em;
	margin-bottom: 0.4em;
	margin-top: 0;
	text-transform: uppercase;
	font-weight: normal;
}

h2{
	margin-top: 0;
	font-size: 1.6em;
	margin-bottom: 0.7em;
	font-weight: normal;
}

h3{
	font-size: 1.5em;
	margin-bottom: 0.5em;
	margin-top: 0;
}

h4{
	font-size: 1.3em;
	margin-bottom: 0.3em;
}

.clrfix:after{
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
	content: ".";
}

.clear{
	display: block;
	clear: both;
}

.clear_5{
	display: block;
	clear: both;
	height: 5px;
}

.clear_10{
	display: block;
	clear: both;
	height: 10px;
}

.clear_15{
	display: block;
	clear: both;
	height: 15px;
}

.clear_20{
	display: block;
	clear: both;
	height: 20px;
}

.clear_30{
	display: block;
	clear: both;
	height: 30px;
}

.clear_40{
	display: block;
	clear: both;
	height: 40px;
}

.clear_50{
	display: block;
	clear: both;
	height: 50px;
}

.changeable{
	display: block;
	position: relative;
	min-height: 50px;
}

.changeable .edit_content_button{
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	padding: 5px 10px;
	border: 1px solid #cccccc;
	cursor: pointer;
	background-color: #f1f1f1;
}

.changeable:hover .edit_content_button{
	display: block;
}

.changeable:hover .edit_content_button:hover{
	background-color: #eeeeee;
}

.scrollload{
	opacity: 0;
}

#meta_edit{
	display: block;
	font-size: 16px;
	background-color: #fff;
	color: #555;
	padding: 20px;
	position: fixed;
	top: -441px;
	right: 0;
	width: 600px;
	border-radius: 0 0 0 10px;
	height: 400px;
	border: solid #ccc;
	border-width: 0 0 1px 1px;
	z-index: 50;
}

#meta_edit_button{
	display: block;
	position: absolute;
	bottom: -31px;
	right: 0;
	height: 30px;
	line-height: 30px;
	padding: 0 20px;
	cursor: pointer;
	background-color: #fff;
	border-radius: 0 0 0 10px;
	border: solid #ccc;
	border-width: 0 0 1px 1px;
}

.video {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 */
	padding-top: 0px;
	height: 0;
}
.video iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.infobox_fehler {
    background-color: #eee;
    background-image: url("../img/style/icon_fail.png");
    background-position: 20px 20px;
    background-repeat: no-repeat;
    border: 2px solid #ccc;
    border-radius: 5px;
    color: #6d6d6d;
    left: 50%;
    margin-left: -200px;
    min-height: 150px;
    padding: 25px 20px 20px 140px;
    position: fixed;
    top: 30%;
    width: 260px;
    z-index: 999;
}

.infobox_fehler .info_close{
	position: absolute;
	top: 10px;
	right: 10px;
	background-color: #6d6d6d;
	color: #ffffff;
	width: 20px;
	height: 20px;
	line-height: 20px;
	font-size: 12px;
	text-align: center;
	font-weight: bold;
	cursor: pointer;
}

.infobox_erfolg .info_close{
	position: absolute;
	top: 10px;
	right: 10px;
	background-color: #6d6d6d;
	color: #ffffff;
	width: 20px;
	height: 20px;
	line-height: 20px;
	font-size: 12px;
	text-align: center;
	font-weight: bold;
	cursor: pointer;
}

.infobox_erfolg{
	position: fixed;
	top: 30%;
	left: 50%;
	border: 2px solid #ccc;
	padding: 25px 20px 20px 140px;
	background-color: #eee;
	color: #6d6d6d;
	margin-left: -200px;
	width: 260px;
	border-radius: 5px;
	z-index: 999;

	background-image: url('../img/style/icon_ok.png');
	background-repeat: no-repeat;
	background-position: 20px 20px;
	min-height: 150px;
}

.login_form{
	display: block;
	width: 100%;
	max-width: 400px;
	border-radius: 10px;
	margin: 30px auto;
}

#adresse{
	display: block;
	float: left;
	padding-top: 10px;
	color: #000000;
}

#adresse a{
	color: #000000;
}

#adresse_left{
	float: left;
	margin-right: 30px;
}

#adresse_right{
	float: left;
}

#navi_bottom{
	padding-top: 10px;
	color: #000000;
	text-align: right;
	margin-right: -10px;
}

#navi_bottom a{
	margin: 0 10px;
	color: #000000;
	font-size: 1em;
}

#copyright{
	padding-top: 20px;
	font-size: 0.8em;
	color: #b55f1a;
	text-align: right;
}

#copyright a{
	color: #b55f1a;
}

/* BEGIN KONTAKTFORMULAR */
#kontakt_form{
	display: block;
	position: relative;
	z-index: 0;
}

#feiern_form{
	position: relative;
	width: 70%;
}

.formular_left_wrap, .formular_right_wrap{
	display: block;
	width: 50%;
	float: left;
}

.formular_left_wrap{
	clear: both;
}

.formular_left{
	padding-right: 20px;
}

.formular_right{
	padding-left: 20px;
}

.plz_input{
	display: block;
	float: left;
	width: 70px;
}

.ort_input{
	margin-left: 80px;
}

#kontakt_form textarea[name=nachricht]{
	height: 300px;
}

#feiern_form textarea[name=bemerkungen]{
	height: 300px;
}

.captcha{
	display: block;
	clear: both;
	float: left;
	width: 140px;
}

.captcha_input{
	display: block;
	margin-left: 140px;
}

.captcha_input input[type=text]{
	max-width: 100px;
}

.datenschutz_checkbox{
	display: block;
	float: left;
	width: 20px;
}

.datenschutz_checkbox_text{
	margin-left: 30px;
}

.formular_submit_wrap{
	display: block;
	position: absolute;
	bottom: 15px;
	right: 0;
	width: 50%;
}

.formular_submit{
	padding-left: 20px;
}

.formular_submit input[type=submit]{
	width: 100%;
}

.has_submit_holder{
	padding-bottom: 3em;
	margin-bottom: 15px;
}

.datum_input{
	display: block;
	float: left;
	width: 105px;
}

.layout{
	max-width: 1210px;
	margin: 0 auto;
	padding: 0 15px;
}

.kalenderbreak{
	display: none;
}

.terminuebersicht{
	display: block;
	clear: both;
	border-collapse: collapse;
}

.terminuebersicht:after{
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
	content: ".";
}

.terminuebersicht_oeffnungszeiten{
	display: none;
	float: left;
	width: 10%;
	border: 1px solid #ccc;
	box-sizing: border-box;
}

.terminuebersicht_day{
	display: block;
	float: left;
	width: 16.6666%;
	border: solid #ccc;
	border-width: 1px 1px 1px 0;
	text-align: center;
	box-sizing: border-box;
}

.terminuebersicht_head{
	height: 40px;
}

.terminuebersicht .terminuebersicht_day:first-child{
	border-width: 1px 1px 1px 1px;
}

.terminuebersicht_day_item{
	border-top: 1px solid #ccc;
	padding: 5px 5px;
	box-sizing: border-box;
	min-height: 32px;
}

.terminuebersicht_day_item.voll_belegt{
	background-color: #A50000;
	color: #fff;
}

.terminuebersicht_day_item.erlaubt{
	cursor: pointer;
	background-color: #cae896;
}

.terminuebersicht_day_item.nicht_erlaubt{
	opacity: 0.5;
}

.terminuebersicht_day_item.offen{
	cursor: pointer;
}

.terminuebersicht_day_item.geschlossen{
	opacity: 0.5;
}

.terminuebersicht_day_item.erlaubt.ausgewaehlt{
	background-color: #2c4d64;
	color: #fff;
}

.terminuebersicht_head{
	background-color: #2c4d64;
	color: #fff;
	padding: 5px;
}

.terminuebersicht_tag_label{
	font-weight: bold;
}

.terminuebersicht_datum_label{
	font-size: 0.8em;
}

table.wertauflistung tr td{
	padding: 5px 0 5px 10px;
}

table.wertauflistung tr td:first-child{
	font-weight: bold;
	padding-left: 0;
}

.form_left{
	display: block;
	clear: both;
	width: 50%;
	float: left;
	padding-right: 20px;
	box-sizing: border-box;
}

.form_right{
	display: block;
	width: 50%;
	float: left;
	padding-left: 20px;
	box-sizing: border-box;
}

.kfz_zeichen_input{
	display: block;
	float: left;
	box-sizing: border-box;
	width: 300px;
}

.kfz_marke_input{
	display: block;
	float: left;
	margin-left: 40px;
	margin-right: 40px;
	box-sizing: border-box;
	width: 300px;
}

.kfz_typ_input{
	display: block;
	float: left;
	box-sizing: border-box;
	width: 300px;
}

table.auflistung{
	width: 100%;
	border-collapse: collapse;
}

table.auflistung thead td{
	background-color: #2c4d64;
	color: #fff;
	border: 1px solid #2c4d64;
	padding: 10px;
	font-weight: bold;
}

table.auflistung tbody td{
	border: 1px solid #ccc;
	padding: 5px 10px;
}

table.auflistung tbody tr:nth-child(2n) td{
	background-color: #f8f8f8;
}

table.auflistung tbody tr:hover td{
	background-color: #e8e8e8;
}

table.auflistung td.mintd{
	width: 1px;
	white-space: nowrap;
}


table.default_table tr td{
	padding: 2px 5px;
	vertical-align: top;
}

table.default_table tr td:first-child{
	padding-left: 0;
}

#kw_filter_form{
	display: block;
	float: right;
}

.hebebuehnen_auswahl:after{
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
	content: ".";
}

.hebebuehne_item{
	display: block;
	float: left;
	width: 33.3333%;
	/*border: 1px solid #ccc;*/
	box-sizing: border-box;
	font-size: 0.7em;
	line-height: 25px;
}

.hebebuehne_item.frei{
	background-color: #3e770f;
	color: #fff;
}

.hebebuehne_item.belegt{
	background-color: #a50000;
	color: #fff;
}

.hebebuehne_item.reserviert{
	background-color: #ffc62b;
	color: #000;
}



.terminuebersicht.intern{
	display: block;
	clear: both;
	border-collapse: collapse;
}

.terminuebersicht.intern:after{
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
	content: ".";
}

.terminuebersicht.intern .terminuebersicht_oeffnungszeiten{
	display: none;
	float: left;
	width: 10%;
	/*border: 1px solid #ccc;*/
	box-sizing: border-box;
}

.terminuebersicht.intern .terminuebersicht_day{
	display: block;
	float: left;
	width: 16.6666%;
	border: solid #2c4d64;
	border-width: 0px 1px 1px 0;
	text-align: center;
	box-sizing: border-box;
}

.terminuebersicht.intern .terminuebersicht_head{
	height: 40px;

}

.terminuebersicht.intern .terminuebersicht_day:first-child{
	border-width: 0px 1px 1px 1px;
}

.terminuebersicht.intern .terminuebersicht_day_item{
	border-top: 0px solid #ccc;
	padding: 0;
	box-sizing: border-box;
	min-height: 32px;
}

.terminuebersicht.intern .terminuebersicht_day_item .termin_zeit{
	padding: 5px 0;
	font-weight: bold;
	border-top: 3px solid #2c4d64;
}

.terminuebersicht.intern .terminuebersicht_day_item:first-child .termin_zeit{
	border-top: 0px solid #2c4d64;
}

.terminuebersicht.intern .terminuebersicht_day .terminuebersicht_day_item:nth-child(2n+1){
	/*background-color: #f1f1f1;*/
	background-color: #e8e8e8;
}

.terminuebersicht.intern .terminuebersicht_day_item.erlaubt{
	cursor: pointer;
}

.terminuebersicht.intern .terminuebersicht_day_item.nicht_erlaubt{
	/*opacity: 0.5;*/
	color: #ccc !important;
}

.terminuebersicht.intern .terminuebersicht_day_item.offen{
	cursor: pointer;
}

.terminuebersicht.intern .terminuebersicht_day_item.geschlossen{
	opacity: 1;
	color: #ccc !important;
}

.terminuebersicht.intern .terminuebersicht_day_item.erlaubt.ausgewaehlt{
	background-color: #2c4d64;
	color: #fff;
}

.terminuebersicht.intern .terminuebersicht_head{
	background-color: #2c4d64;
	color: #fff;
	padding: 5px 0 1px 0;
}

.terminuebersicht.intern .terminuebersicht_tag_label{
	font-weight: bold;
}

.terminuebersicht.intern .terminuebersicht_datum_label{
	font-size: 0.8em;
}

.admin_navi{
	display: block;
	background-color: #2c4d64;
	color: #fff;
	border-bottom: 1px solid #fff;
}

.admin_navi ul{
	display: block;
	margin: 0;
	padding: 0;
	list-style-type: none;
}

.admin_navi ul li{
	display: inline-block;
}

.admin_navi ul li a{
	display: inline-block;
	padding: 10px 30px;
	color: #fff;
	text-decoration: none;
	border-right: 1px solid #fff;
}

#top{
	padding-top: 10px;
	border-top: 10px solid #2c4d64;
	background-color: #fff;
}

#top_left{
	display: block;
	float: left;
	padding-top: 90px;
}

#top_left h1{
	margin-bottom: 5px;
}



a#logo{
	display: block;
	float: right;
	width: 100%;
	max-width: 363px;
}

a#logo img{
	display: block;
	width: 100%;
}

#gesamt{
	padding-top: 40px;
	padding-bottom: 40px;
	background-color: #fff;
}

.steps{
	margin-left: 15px;
	margin-bottom: 40px;
}

.step{
	display: block;
	float: left;
	width: 21%;
	height: 76px;
	margin-left: -15px;
	position: relative;
	color: #fff;
}

.step.abgeschlossen{
	color: #5f5f5f;
}

.step_image{
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.step_image img{
	display: block;
	width: 100%;
	height: 100%;
}

.step_head{
	position: relative;
	font-size: 24px;
}

.step_text{
	position: relative;
	font-size: 14px;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
}

.step_content{
	position: relative;
	padding-top: 10px;
}

.steps .step .step_content{
	padding-left: 50px;
	padding-right: 30px;
}

.steps .step:first-child .step_content{
	padding-left: 20px;
}

.steps_mobil{
	margin: 20px 0;
	display: none;
}

.steps_mobil a{
	display: block;
	padding: 10px;
	color: #fff;
	background-color: #F07F23;
	margin-bottom: 1px;
}

.steps_mobil a.aktiv{
	background-color: #C1392B;
}

.steps_mobil a.abgeschlossen{
	background-color: #D1D1D1;
	color: #5f5f5f;
}

.step_mobile_text:before{
	content: " - ";
}

.terminart_item{
	margin-bottom: 10px;
}

.terminart_item:after{
	display: block;
	clear: both; 
	height: 0;
	visibility: hidden;
	content: ".";
}

.terminart_radio{
	display: block;
	float: left;
	width: 20px;
	padding-top: 1px;
	cursor: pointer;
}

.terminart_name{
	display: block;
	margin-left: 25px;
}

.button_listing{
	margin-left: -20px;
}

.button_listing:after{
	display: block;
	clear: both; 
	height: 0;
	visibility: hidden;
	content: ".";
}

.button_listing input[type=submit].button_yellow, .button_listing a.button_yellow{
	display: inline-block;
	margin-left: 20px;
	padding: 10px;
	background-color: #f07f23;
	color: #fff;
	text-align: center;
	min-width: 132px;
	font-family: 'open_sansregular';
	border: 1px solid #f07f23;
    font-size: 1em;
    height: auto;
    font-weight: normal;
    white-space: nowrap;
    cursor: pointer;
    border-radius: 10px;
	margin-bottom: 10px
}

.button_listing input[type=submit].button_red, .button_listing a.button_red{
	display: inline-block;
	margin-left: 20px;
	padding: 10px;
	background-color: #c1392b;
	color: #fff;
	text-align: center;
	min-width: 132px;
	font-family: 'open_sansregular';
    border: 1px solid #c1392b;
    font-size: 1em;
    height: auto;
    font-weight: normal;
    white-space: nowrap;
    cursor: pointer;
    border-radius: 10px;
	margin-bottom: 10px;
}

.kontaktdaten_form_part{
	max-width: 980px;
}

.zusammenfassung_h3{
	font-weight: bold;
	font-style: italic;
	margin-bottom: 10px;
}

.res_icon, .abl_icon, .best_icon{
	display: inline-block;
	width: 25px;
	height: 25px;
	border: 1px solid #2C4D64;
	padding: 5px;
	border-radius: 5px;
	text-align: center;
	line-height: 25px;
	vertical-align: top;
	color: #2C4D64;
	opacity: 0.5;
	background-color: #fff;
}

.res_icon:hover, .abl_icon:hover, .best_icon:hover{
	opacity: 1;
}

.best_icon::before{
	content: "\2714";
	font-size: 1.5em;
	line-height: 25px;
}

.abl_icon::before{
	content: "\2716";
	font-size: 1.5em;
	line-height: 25px;
}

.res_icon::before{
	content: "\270D";
	font-size: 2em;
	line-height: 25px;
}

.legende:after{
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
	content: ".";
}

.legende{
	margin-bottom: 10px;
}

.legende_item{
	display: block;
	float: left;
	margin-right: 30px;
	margin-bottom: 10px;
}

.legende_color{
	display: block;
	float: left;
	width: 30px;
	height: 25px;
	box-sizing: border-box;
}

.legende_color.green{
	background-color: #cae896;
}

.legende_color.red{
	background-color: #A50000;
}

.legende_color.white{
	background-color: #fff;
	border: 1px solid #ccc;
}

.legende_bez{
	display: block;
	margin-left: 40px;
}

/*Samstag im Kalender ausblenden*/

.terminuebersicht_day.day_6{
	display: none;
}


.errormessage{
	color: #ff0000;
	background-color: hsl(0, 100%, 95%);
	border: 1px solid #ff0000;
	padding: 1rem;
	margin-bottom: 1rem;
}

.modal_errormessage{
	display: none;
}