/*
 * Beinhaltet die grundlegenden Styles (klassenlose, direkte
 * Formatierungen von Tags und ihre allgemeinen SonderfÃ¤lle; bspw. p
 * und p.lead) und die Layoutpositionen/-dimensionen.
 */

/* STANDARD STYLES */

* {
	margin: 0px;
	padding: 0px;
	border: none;
}

/* Versteckt beliebige Elemente visuell, ohne sie wirklich zu entfernen (z.B. sind sie problemlos fÃ¼r Screenreader und Textbrowser sichtbar). WIRKT ALLERDINGS NICHT BEI "VERDRAHTETEN" ELEMENTEN WIE TABELLEN-ZELLEN ETC.! (josh@quatico.com) */
.visually_hidden {
	position: absolute;
	left: -10000px;
	top: -10000px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

body {
	margin: 0px;
	padding: 0px;
	font-size: 100%; /* 100% = 16px (Standardgroesse, alle weiteren Angaben in EM haben dies als Basis) */
	font-family: Verdana, sans-serif;
	border-top: 0.0625em solid #8E8E8E;
	border-bottom: 0.0625em solid #8E8E8E;
	background: url('/images/page_background.gif') top left repeat;
}

p,
li,
label,
input,
textarea {
	font-size: 0.6875em; /*11px;*/
	line-height: 1.3636em; /* 15px; ist relativ zu denn 11px der Schrift! */
}

ul,
ol,
li {
	list-style: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: bold;
    font-size: 1em; /* TODO: Eigene font-sizes für die einzelnen h-tags geben! */
}

h2,
h3 {
    font-size: 0.6875em; /* 11px */
}

a {
	color: #e50000;
	text-decoration: none;
}
a:hover {
	color: #000000;
}

/* Das hindert den Firefox daran, punktierte Linien um angeklickte Links zu zeichnen.*/
a:focus {
	-moz-outline-style: none;
}

a.active {
	color: #000000;
}

input,
textarea { /* IE-1 Fix! */
	margin-top: 0.1818em; /* Ist Relativ zu den 11px der Schrift!*/
	margin-right: 0.2727em;
	margin-bottom: 0.3636em;
	margin-left: 0.3636em;
	padding: 0.3636em 0.4545em 0.3636em 0.4545em;
	width: 17.2727em;
	height: 1.2727em;
	border-top: 0.0909em solid #aa0000;
	border-right: 0.0909em solid #d1d1d1;
	border-bottom: 0.0909em solid #d1d1d1;
	border-left: 0.0909em solid #aa0000;
	font-family: Verdana, sans-serif;
}
input[disabled] {
	background: none;
	border-top-color: #8e8e8e;
	border-left-color: #8e8e8e;
}

/* Horizontale Auflistung von Links */

.horizontal_links {
  margin: 0;
  padding-left: 0;
  list-style: none;
  float: left;
}

.horizontal_links li {
  float: left;
}

.horizontal_links a,
.horizontal_links span { /* IE-7 Fix */
  display: block;
  padding-right: 0.5em;
}



/* Positionierung der Elemente/Div-Boxen. Sind hier aus technischen Gründen alles Klassen! */
#book {
	background: url('/images/book_pages_right.gif') top right repeat-y;
	/*
	padding-right: 1em;
    */
}

#page {
	padding-right: 0.652em;
	height: 41.6875em;
	width: 57.75em; /* = .column-height + 4.1875em */
	background: url('/images/page_background.gif') top left repeat;
}

#search_navigation {
	position: absolute;
	left: 17.125em;
	height: 2.125em;
	width: 40.625em;
	z-index: 20;
}
	#search_navigation .tab_background {
		position: absolute;
		top: 0;
		left: 1.6875em;
		width: 9.625em;
		height: 1.25em;
	}
	#search_navigation .horizontal_links {
		position: absolute;
		top: 0;
		left: 2.1875em;
		height: 1.25em;
		width: 30em;
		z-index: 1;
	}
		#search_navigation .horizontal_links li {
			width: 5.7272em;
		}
		#search_navigation .horizontal_links #LiMap { /* Ist ein spezieller Eintrag von #search_navigation .horizontal_links li */
			padding-left: 1em;
			width: 17em;
		}
		#search_navigation .horizontal_links a {
		    display: block;
			padding-left: 2em;
			padding-top: 0.1818em;
		    height: 1.6363em;
		}

	.page_number {
		float: right;
		margin-top: 1.5454em; /*17px; Wird auf die 11px der Schriftgrösse bezogen! */
	}
	    .page_number span {
	        font-weight: bold;
	        color: #222222;
	    }
	
	.turnThePage_button { /* IE6-6 Fix! */
	    margin-left: 0.625em;
	    margin-right: -0.625em; /* -10px */
		float: right;
		cursor: pointer;
	}
		.turnThePage_button img {
			width: 2.125em; /* 34px */
		}

#content {
	position: absolute;
	left: 17.125em;
	top: 2.1875em;
	border-top: 0.0625em solid #8e8e8e;
	padding: 1.00em 0 0.9375em 0;
	z-index: 20;
	/* FIXME: Kann wirklich darauf verzichtet werden!? */
	overflow: hidden;
	width: 40.625em; /* 4 Spalten*/
}
	.columne,
	.static_columne {
		float: left;
		padding: 0;
		width: 9.9375em;
		height: 37.5em;
		border-left: 0.0625em solid #8e8e8e;
		/*overflow: hidden;*/
	}

	.columne strong,
	.static_columne strong {
	    color: #222222;
	}
	
		.address { /* IE6-2, Webkit-2 Fix */
			overflow: hidden;
			margin-top: -0.2727em;
			margin-bottom: 0.2727em;
			padding-right: 0.5625em;
    		padding-left: 0.625em;
    		cursor: pointer;
        }
			.address .phone_nr {
				float: right;
				font-weight: bold;
				color: #222222;
			}
				.phone_nr .star {
					width: 1em;
					margin-right: -0.0625em;
					margin-bottom: 0.0625em;
					vertical-align: text-bottom;
				}
			.address .horizontal_links, /* IE6-8 Bugfix! */
			.address .horizontal_links li {
				float: right;
				text-align: right;
				color: #525252;
			}
			
			.address .horizontal_links a {
			    display: inline;
				padding: 0 0 0 0.4545em; /*5px; Wird auch die 11px-Schrift bezogen*/
			}

	#columne_map {
		float: left;
		padding: 0 0.5625em 0 0.625em; /* 0 9px 15px 10px; */
		border-left: 0.0625em solid #8e8e8e;
		border-right: 0.0625em solid #8e8e8e;
	}
	    #columne_map p.horizontal_links a {
	        padding: 0;
	    }    
		#columne_map #map_canvas {
			width: 100%;
			height: 100%;
		}

	#columne_detail {
		float: left;
		padding: 0.625em;
		background: #ffffff;
		width: 28.75em;/*28.75em; /* braucht es für die nonscript-Variante */
	}
	    #columne_detail .shadow {
	        position: absolute;
	        top: 1.00em; /* 12px */
	        left: 0;
	        width: 0.6875em;
	        z-index: 0;
	    }
	    #columne_detail .logo_print {
	        display: none;
	    }
	    #columne_detail .horizontal_links { 
	        padding-top: 0.1818em;
	        width: 10em;            /* braucht der IE, damit er das ul nicht */
	    }                           /* ueber die gesamte Breite erstreckt    */
	    
		#columne_detail .horizontal_links,
		#columne_detail .horizontal_links li {
			float: right;
			text-align: right;
			color: #525252;
		}
		#columne_detail .horizontal_links a {
		    display: inline;
			padding: 0 0 0 0.4545em; /* 5px; Wird auf die 11px-Schrift bezogen */
		}
		
	    .columne_detail_text {
	        font-size: 0.875em; /*14px;/*0.750em; /* 12px */
        	line-height: 1.357em;/*1.5833em; /* 19px; */
	    }
	    
	    #columne_detail .print_link {
            float: right;
	    }
		#columne_detail #map_canvas {
			margin-top: 0.625em;
			width: 100%;
		}
        #columne_detail .address {
            cursor: default;
         }
             
             		
    .feedback_form {
        margin-top: 0.375em;
    }
    
    .feedback_form p.button img {
        position: absolute;
        top: 0;
        left: 0;
    }
    
    .feedback_form p.button img.reset {
        left: 159px;
    }
    
    .feedback_form p.button { /* IE-15 Fix! */
        margin-left: 0;
        margin-right: 0;
        margin-top: 10px;
    }
    
    .feedback_form p.button .submit { /* analog img */
        position: absolute;
        top: 0;
        left: 0;
        width: 148px;
        font-weight: normal;
        margin-right: 11px;
        margin-top: 0px;
    }
    
    .feedback_form p.button input.reset { /* WebKit-4 Fix! */
        margin-right: 0;
    }
    
    .contact_form_columne {
        width: 19.188em; /* 307px */
		padding-left: 0.375em; /* 6px */
		padding-right: 0.375em; /* 6px */
    }
    
        .contact_form_columne p,
        .contact_form_columne h2 {
            margin-left: 0.273em; /* 3px */
            margin-right: 0.273em; /* 3px */
        }
    
    	.contact_form_columne label {
    		display: block;
            margin-left: 0.273em; /* 3px */
    		margin-top: 0.818em; /* 9px */
    	}
    	
    	p.error {
    	    margin-top: 0.818em; /* 9px */
    	    color: #AA0000;
    	    font-weight: bold;
    	}
    	
    	.contact_form_columne input,	/* IE-5 Fix!*/
    	.contact_form_columne textarea {
    		margin: 0.1919em 0 0 0;
    		padding: 0.3636em 0.2727em 0.3636em 0.2727em;
    		width: 27.2727em;
    	}
    	.contact_form_columne input.last {
    	    margin-bottom: 1em;
    	}
    	.contact_form_columne textarea {
			height: 15.182em; /* 167px */
		}
		.contact_form_columne textarea.untouched {
            color: #666666;
		}
		.contact_form_columne button { /* IE-6 */
			clear: left;
			float: left;
			margin-top: 8px;
			margin-right: 0;
			margin-left: -0.3636em;
			padding: 0;
			width: 11.5454em; 
			height: 1.7272em;
			text-align: left;
			background: none;
		}
		.contact_form_columne .button_spacer { /* IE-6, IE6-3 Fix */
			float: left;
			width: 0.5em; /*4375em;*/
		}
		    .contact_form_columne .address {
			    padding: 0;
    		    cursor: normal;
		    }
	 		.contact_form_columne button img { /* IE-6, Webkit-1 Fix */
				margin-left: -0.1818em;
				margin-top: -0.2727em;
				width:  11.2727em;
				height: 1.5454em;
			}
			.contact_form_columne button .button_text { /* IE-6, Webkit-1 Fix */
				font-size: 11px; /*1em;*/
				margin-top: -1.7272em;
				margin-left: 0.3636em;
				color: #e50000;
			}		
		
		.contact_form_columne input[type=radio],
		.contact_form_columne input[type=checkbox] { /* IE6-7 Fix! */
		    width: 1em;
		    float: left;
		    border: none;
		}
		
		.contact_form_columne table.addressChangeType {
		    margin-top: 0.5em;
		}
		.contact_form_columne .radio {
		    border-collapse: collapse;
		}
		    .contact_form_columne .radio td {
                padding: 0.375em 0 0.5em 0;
                width: 9.6em;
                vertical-align: bottom;
                border-bottom: 0.0625em solid #8e8e8e;
		    }
		    .contact_form_columne .radio td.right {
		        padding-bottom: 0.4em;
		    }
		    .contact_form_columne .radio tr.first td {
                border-top: 0.0625em solid #8e8e8e;
		    }		    
		    .contact_form_columne .radio label {
		        float: left;
		        width: 10em;
		        margin-top: 0.0909em;
		    }

		.contact_form_columne .checkbox {
		    display: block;
		    overflow: hidden;
		    margin: 1em 0 0 0;
		    padding-bottom: 0.5em;
		    border-bottom: 0.0625em solid #8e8e8e;
		}
		    .contact_form_columne .checkbox label {
		        float: left;
		        width: 26em;
		        margin-top: 0.0909em;
		    }
		
		.contact_form_columne .zip {
		    float: left;
		    margin-right: 0.5em; /* IE-19 Fix*/
		    margin-bottom: 0.5em;
		}
		.contact_form_columne .zip input,
		.contact_form_columne .zip label {
		    width: 4em;
		}
		.contact_form_columne .city {
		    float: left;
		    margin-bottom: 0.5em;
		}
		.contact_form_columne .city input,
		.contact_form_columne .city label {
		    width: 21.7em;
		}
		.contact_form_columne p img {
		    vertical-align: top;
		}

    .three_columns {
        width: 28.75em;
    }
    
    .four_columns {
		width: 38.75em;
	}
    	
	.three_columns, .four_columns {
	    padding-left: 0.625em;
	    padding-right: 0.5625em;
	}
    
    	.emergency_address {
    	    background: #f5e2d8;
    	    min-height: 11.6em;
    	    margin: 0 0.5625em 0.9375em 0.625em;
    	}
    	.emergency_address p {
    		padding: 0.8181em 0.5454em;
    	}
    
    .conditions_and_terms p {
        padding-bottom: 1em;
    }
    
	.ad {
		position: absolute;
		padding: 1em 0;
		background: url('/images/page_background.gif') top left repeat;
		text-align: center;
	}
	    .ad img,
	    .ad object,
	    .ad embed {
	        margin-left: auto;
	        margin-right: auto;
	     }
	
	#skyscraper {
	    top: 0;
        right: 0;
        width: 10em;
        text-align: left !important;
	}

.navi_and_search {
    position: relative;
	width: 18.188em; /* 291px */
    z-index: 10;
	background: #fff url('/images/navi_and_search_bg.jpg') top left repeat-y;
}

    .bg_bottom_left {
        background: transparent url('/images/navi_and_search_bg_bottom_left.jpg') bottom left no-repeat;
    }
    
    .bg_bottom_right { /* IE6-4 Fix! */
	    padding: 0.688em 2.875em 3.5em 2.188em;
        background: transparent url('/images/navi_and_search_bg_bottom_right.jpg') bottom right no-repeat;
    }

        .navi_and_search .white_line {
            position: absolute;
            top: -0.063em; /* -1px */
            left: 0.938em; /* 15px */
            height: 0.063em; /* 1px */
            width: 15.625em; /* 250px */
        }

            .navi_and_search .background {
                position: absolute;
                z-index: 0;
                width: 100%;
                height: 100%;
                top: 0;
                left: 0;
            }

                .logo { /* IE6-5 Fix! */
                    position: relative;
                    height: 1%;
                    margin-top: 0.0625em;
                    padding-right: 5.375em; /* 86px */
                    padding-bottom: 0.875em; /* 14px */
                }
                
                    .logo li { /* IE-8 Fix! */
                    }
            	
	                    .logo li a {
	                        display: block;
	                        height: 1.364em; /* 15px */
	                        text-align: right;
	                    }
            	        
	                        .logo li a img {
	                            width: 100%;
            	                
	                        }
            	            
	                .logo .tel_logo {
	                    position: absolute;
	                    bottom: 0;
	                    right: 0;
	                    width: 4.438em; /* 71px */
	                    height: 3.938em; /* 63px */
	                }

			.appstore {
				float: right;
				margin-top: 0.21em;
			}
			
	            #new_search_button {
	                position: relative;
	                margin-top: 1.4545em; /* 15px */
	                height: 2.637em;
	                /*height: 28px;*/
	            }
            	
	                #new_search_button .background,
	                .back_to_list .background {
	                    position: absolute;
	                    width: 100%;
	                }
            	
		            #new_search_button a {
		                display: block;
		                padding-left: 0.727em; /* 8px */
		                padding-top: 0.545em; /* 6px */
		                padding-bottom: 0.8181em;
                        position: relative;
                        cursor: pointer;
		            }
            		
		            #new_search_button a, /* IE-13 Fix! */
		            #new_search_button a:hover,
		            #new_search_button.active a:hover {
			            color: #000000;
			            font-weight: bold;
		            }
            		
		            #new_search_button.active a 
		            {
		                position: relative;
			            color: #e50000;
		            }
                    .search_fields {
                        position: relative;
                        z-index: 1; /* braucht der FF2! */
                        background: url('/images/search_bg_bottom_left.jpg') bottom left no-repeat;
                    }

	            
	                .search_fields .bg_bottom_right {
	                    background: transparent url('/images/search_bg_bottom_right.jpg') bottom right no-repeat;
	                    padding: 0 0 0.3125em 0;
	                    overflow: hidden;
	                }
            	
	                .search_box {
			            margin-top: 0.438em; /* 7px */
			            margin-left: 0.313em; /* 5px */
			            margin-bottom: 0.563em; /* 9px */
			            margin-right: 0.313em; /* 5px */
	                }
            		
		            .search_fields label {
			            display: block;
			            margin-left: 0.273em; /* 3px */
			            margin-right: 0.273em; /* 3px */
		            }
            		
		            .search_box input { /* IE-9 Fix! *//* FIXME: Is this reset really necessary? Or can we change the global <input> CSS definitions? --Josh */
		                margin-left: 0;
			            margin-right: 0;
			            margin-bottom: 0;
			            width: 17.091em;
		            }
            		
		            p.button {
		                position: relative;
		                margin-top: 1.182em; /* 13px */
		                margin-left: 0.455em; /* 5px */
		                margin-right: 0.455em; /* 5px */
		                margin-bottom: 1.182em; /* 13px */
		            }
		                
		                .search_fields img {
		                    position: absolute;
		                    top: 0;
		                    left: 0;
		                    width: 18.182em; /* 200px */
		                    height: 1.727em; /* 19px */
		                }
            		
		                input.submit { /* IE-9, IE-10, IE-11 Fix! */
		                    background: none;
		                    position: relative;
		                    color: #E50000;
		                    font-weight: bold;
		                    border: none;
		                    outline: none;
		                    width: 18.182em; /* 200px */
		                    font-size: 1em; /* 11px */
		                    text-align: left;
		                    margin: 0;
		                    padding: 0.091em 0 1.636em 0; /* 1px 0 18px 0 => Keine Ahnung, weshalb es hier so seltsames Padding braucht... IE verhält sich hier meines Erachtens einleuchtender. -- Josh */
		                    display: block;
		                }
		                
		                input.submit:hover {
		                    color: #000;
		                    cursor: pointer;
		                }

	            .count_box {
	                margin-top: 1em;
	                margin-bottom: 0.636em;
	                margin-left: 0.818em;
	            }
	            
	            .back_to_list {
	                position: relative;
	                margin-top: 1.0909em;
	                margin-bottom: 1.6363em; /*18px;*/
	                height: 2.637em;
	            }
            	
		            .back_to_list a { /* IE-21 Fix! */
		                display: block;
		                padding-left: 0.727em;
		                padding-top: 0.545em;
		                padding-bottom: 0.8181em;
                        position: relative;
                        font-weight: bold;
		            }

            	
	            .search_fields_background {
		            position: absolute;
		            top: 9em;
		            left: 2.1875em;
		            width: 13.125em;
	            }
	            .navi_and_search .hr_navi_and_search { /* IE-3 Fix */
	                border-top:  solid 0.0625em #d4d4d4;
	                background: #ffffff;
	                height: 0.125em;
	                margin: 0.625em 0.313em 0.5em 0.313em;
	            }

	            .emergency_button {
	                position: relative;
                    margin-top: 1.6363em; /* IE-20 Fix! */
	            }
            	
	                #emergency_bullet {
	                    position: absolute;
	                    top: 0.8181em;
	                    left: 0.8181em;
	                    height: 0.9090em;
	                    width: 0.9090em;
	                }
            	
		            .emergency_button a { /* IE-12 Fix! */
		                display: block;
		                padding-left: 2.1818em; /*0.727em; /* 8px */
		                padding-top: 0.545em; /* 6px */
		                padding-bottom: 0.636em; /* 7px */
		            }
            		
		            .emergency_button a:hover {
		                color: #000000;
		            }

	            .disclaimer {
	                margin-top: 0.5em;
	            }
                	
	                .disclaimer ul {
	                    margin-left: 0.5em; /* 8px */
	                }
                	
	                .disclaimer p {
	                    margin-top: -1.364em; /* -15px => auf die gleiche Höhe setzen wie der letzte administrative Link */
	                    margin-right: 1em;
	                    text-align: right;
	                    color: gray; /* TODO: Gabi nach richtiger Farbe fragen. --Josh */
	                }

.auto_complete { /* IE-18 Fix! */
	position: absolute;
	top: 5.125em; /* 82px */
	left: 0.25em;
	width: 12.375em; /* 198px, IE-4 Fix */
	z-index: 10;
	visibility: hidden;
}
	
	.auto_complete ul { /* IE-17 Fix! */
	    padding : 0! important;
	    margin-top: 0;
	    width: 12.375em; /* 198px */
	    cursor : pointer;
	    list-style-type : none;
	    background: #ffffff;
	    border: 0.0625em solid #5b5b5b;
	    border-right-color: #929292;
	    border-bottom-color: #929292;
	}

		.listItem {
			color: #e50000;
		}
		.highlightedListItem {
			color: #000000;
		}
		
		.listItem div,
		.highlightedListItem div { /* IE-7 */
		    margin-top: -0.0625em;
		}
		
		    .auto_complete li .hr { /* IE-3 Fix */
			    height: 0.0909em;
	            background-color: #d1d1d1;
	            clear: both;
		    }
		    .auto_complete li .hr_lastItemOfClass { /* IE-3 Fix */
			    height: 0.0909em;
			    background-color: #5b5b5b;
	            clear: both;
            }
		    .auto_complete li .hr_lastItem { /* IE-3 Fix */
			    height: 0.0909em;
			    background-color: #ffffff;
	            clear: both;
            }
            
			.auto_complete li .result {
				float: right;
				padding-right: 0.2727em;
				color: inherit;
			}
			.auto_complete li .keywords {
			    float: left;
			    padding-left: 0.2727em;
			    color: inherit;
			    width: 98.5%;
			}
			
map_canvas {
    position: relative;
	margin-top: 1em; /* 16px;  */
	height: 29.625em; /* 474px; */
	width: 27em; /* 27 x 16x = 432px */
}

#map_canvas .pin_karte_noscript {
    position: absolute;
    bottom: 255px; /* müssen px sein, da die google map ebenfalls aus px besteht */
    left: 235px;
    z-index: 10;
}

.phonelines td {
	padding-right: 0.4em;
}
