/* --- undo --- */
html, body, div, span, a, h1, h2, h3, h4, h5, h6, p, blockquote, img, 
ol, ul, li, input, textarea, label, select, table, tbody, thead, tfoot, tr, th, 
td, footer, header, menu, nav, section, video { padding: 0; margin: 0; box-sizing: border-box; }

html, body, p, form, input, textarea { margin: 0; padding: 0; }
img, a img, :link img, :visited img, fieldset, button { border: none; outline: none; }
a:visited { text-decoration: none; }
img { margin: 0; padding: 0; vertical-align: bottom; }
table { margin: 0; padding: 0; border: none; border-spacing: 0; }
tr { margin: 0; padding: 0; border: none; border-spacing: 0; }
td { margin: 0; padding: 0; border: none; border-spacing: 0; vertical-align: top; }
hr { clear: both; }

ul { list-style-type: disc; list-style-image: none; margin: 0 0 1.0em 0; }
ul li { list-style-type: disc; margin: 0 0 0.5em 1em; padding: 0; }
ol { list-style-type: decimal; list-style-image: none; margin: 0 0 1.0em 0; }
ol li { list-style-type: decimal; margin: 0 0 0.5em 1em; padding: 0; }

html, body { 
min-height: 100%; /* Vertikalen Scrollbalken immer einblenden */ 
word-wrap:break-word; /* Woerter in die naechste Zeile umbrechen, wenn sie das umschliessende Element verlassen */
min-width: 300px;
}
html { overflow: scroll; overflow-x: auto; }


/* fuer responsive Webseiten */ 
img, object, iframe { max-width: 100%; height: auto; }

/*  Clearfix, um das Floating innerhalb der Container aufzuheben */ 
.clearfix:after,
.outer_box_inner:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; font-size: 0; line-height: 0; }

/* Css-Formatierungen interne Module */ 
.flLeft { float: left; }
.flRight { float: right; }
.flClear { clear: both; }
.center { text-align: center; }
.small { font-size: small; }
.bold { font-weight: bold; }
.hide { display: none; }
.textLeft { text-align: left; }
.textCenter { text-align: center; }
.textRight { text-align: right; }



/* pt-sans-regular - latin */
@font-face {
  font-family: 'PT Sans';
  font-style: normal;
  font-weight: 400;
  src: local(''),
       url('fonts/pt-sans-v17-latin-regular.woff2') format('woff2'), 
       url('fonts/pt-sans-v17-latin-regular.woff') format('woff'); 
}

/* pt-sans-700 - latin */
@font-face {
  font-family: 'PT Sans';
  font-style: normal;
  font-weight: 700;
  src: local(''),
       url('fonts/pt-sans-v17-latin-700.woff2') format('woff2'), 
       url('fonts/pt-sans-v17-latin-700.woff') format('woff'); 
}


/* --- CSS-Einstellungen fuer das Addon Modulhelper (bzw. bw_modulhelper) --- */ 

/* Section */
.section_bg_none,
.section_bg_blue,
.section_bg_blue_logo,
.section_bg_brown,
.section_bg_brown_terminanfrage
{ clear: both; display: block; position: relative; top: 0; left: 0; width: 100%; height: auto; margin: 0; padding: 30px 0 10px 0; z-index: 1; }

.section_bg_none { background-color: transparent; padding: 0; }
.section_bg_blue,
.section_bg_blue_logo { background-color: #082c5c; color: #fff; }
/*.section_bg_blue_logo { background-image: url(section_bg_blue_logo.png); background-position: top center; background-repeat: no-repeat; background-size: contain; } */
.section_bg_brown { background-color: #a49070; }
.section_bg_brown_terminanfrage { background-color: #a49070; }
.section_bg_brown_terminanfrage { background-image: url(section_bg_terminanfrage.png); background-position: center; background-repeat: no-repeat; }


.section_bg_blue h1, .section_bg_blue h2, .section_bg_blue h3,
.section_bg_blue_logo h1, .section_bg_blue_logo h2, .section_bg_blue_logo h3 { color: #a49070; }

.section_bg_blue a { text-decoration: none; color: #fff; }
.section_bg_blue a:hover.section_bg_blue a:focus  { text-decoration: none; color: #a49070; }

.section_bg_blue p, .section_bg_blue li,
.section_bg_blue_logo p, .section_bg_blue_logo li { color: #fff; }


.section_full,
.section_1600,
.section_1200,
.section_980 { clear: both; display: block; position: relative; top: 0; left: 0; width: 100%; height: auto; margin: 0 auto; padding: 0; z-index: 1; }

.section_full { width: 100%; margin: 0 ; }
.section_1600 { width: 1600px; margin: 0 auto; }
.section_1200 { width: 1200px; margin: 0 auto; }
.section_980 { width: 980px; margin: 0 auto; }


@media all and (max-width:1840px) { 
	.section_1600 { width: 100%; margin: 0; padding: 0 120px; } 
}
@media all and (max-width:1440px) { 
	.section_1600,
	.section_1200 { width: 100%; margin: 0; padding: 0 120px; } 
}
@media all and (max-width:1140px) { 
  .section_1600,
  .section_1200,
  .section_980 { width: 100%; margin: 0; padding: 0 80px; } 
}
@media all and (max-width:848px) { 
	.section_1600,
	.section_1200,
	.section_980, 
	.section_768 { width: 100%; margin: 0; padding: 0 40px; } 
}
@media all and (max-width:480px) { 
	.section_1600,
	.section_1200,
	.section_980,	
	.section_768 { padding: 0; } 
}




.section_bg_image,
.section_bg_paroller { display: block; position: static; width: 100%; margin: 0; padding: 100px 0 80px 0; z-index: 1; 
background-color: #fff; background-position: center center; background-attachment: scroll; background-repeat: no-repeat; background-size: cover; }
.section_bg_image { min-height: 300px; }


/* ------------ Outer Box ------------ */
/* Ausgangswerte: (Seitenbreite: 1600px | Abstand: 40px) */
.outer_box { clear: both; display: block; float: left; width: 95%; margin: 0 0 2.5% 2.5%; padding: 0; }

.box_width_full { width: 100%; margin: 0 0 2.5% 0; }
.box_width_1_2 { clear: none; width: 46.25%; }
.box_width_1_3 { clear: none; width: 30%; }
.box_width_2_3 { clear: none; width: 62.5%; }
.box_width_1_4 { clear: none; width: 21.88%; }
.box_width_3_4 { clear: none; width: 70.64%; }


.box_width_full { width: 100%; margin: 0 0 2.5% 0; }
.box_width_1_3 { clear: none; width: 30%; }
.box_width_2_3 { clear: none; width: 62.5%; }
.box_width_1_4 { clear: none; width: 21.88%; }
.box_width_3_4 { clear: none; width: 70.64%; }


.outer_box .image { margin: 0 0 25px 0; }
.outer_box .image a { text-decoration: none !important; }
.outer_box .image a:hover, .outer_box .image a:focus { opacity: 0.8; }

.text_bild .flLeft { float: left; display: block; width: auto; max-width: 42.86%; margin: 0 15px 0 0; overflow: hidden; }
.text_bild .flRight { float: right; display: block; width: auto; max-width: 42.86%; margin: 0 0 0 15px; overflow: hidden; }
.text_bild .image span.small { display: block; }

.zweispalter { }
.zweispalter .flLeft { float: left; display: block; width: 47.37%; margin: 0; overflow: hidden; }
.zweispalter .flRight { float: right; display: block; width: 47.37%; margin: 0; overflow: hidden; }


.box_bg_blue { background-color: #082c5c; color: #fff; }
.box_bg_brown { background-color: #a49070; color: #fff; }

.box_bg_blue h1, .box_bg_blue h2, .box_bg_blue h3, .box_bg_blue p, .box_bg_blue li,
.box_bg_brown h1, .box_bg_brown h2, .box_bg_brown h3, .box_bg_brown p, .box_bg_brown li { color: #fff; }

.box_bg_blue_border_brown { border-left: 15px solid #a49070; background-color: #082c5c; color: #fff; }
.box_bg_white_border_brown { border: 2px solid #a49070; }



.box_bg_blue_border_brown h1, .box_bg_blue_border_brown h2, .box_bg_blue_border_brown h3 { color: #a49070; }

.box_bg_blue { background-color: #082c5c; }

.outer_box_inner { padding: 20px 20px 1px 20px; }



/* --- Schriften + Generelle CSS-Anpassungen fuer diese Webseite --- */ 
html, body { font-family: 'PT Sans', Verdana, Geneva, sans-serif; 
font-size: 18px; line-height: 30px; font-weight: 400; 
color: #414142; background-color: #fff; }



h1, h2, h3 { font-family: 'PT Sans', Arial, sans-serif; font-weight: 400; font-style: normal; font-size: 20px; line-height: 1.5; margin: 0 0 10px 0; color: #082c5c; }
	
h1, .like_h1 { font-size: 32px; line-height: 1.25; } 
h2, .like_h2 { font-size: 28px; line-height: 1.25; } 
h3, .like_h3 { font-size: 21px; line-height: 1.25; } 
h4, .like_h4 { font-size: 20px; } 
h5, .like_h5 { font-size: 18px; } 
h6, .like_h6 { font-size: 16px; } 


.headline { margin-bottom: 20px; text-align: center; }
.headline h1, .headline h2 {margin: 0; }

.headline h1 span.headline_overline,
.headline h2 span.headline_overline { display: inline-block; margin: 0; padding: 0 20px; background-color: #a49070; color: #fff; }

.headline h1 span.headline_subline,
.headline h2 span.headline_subline { display: inline-block; margin: 0; color: #a49070; }

.headline h1 span.headline_overline,
.headline h1 span.headline_subline { font-size: 24px; }
.headline h2 span.headline_overline,
.headline h2 span.headline_subline { font-size: 18px; }


em { font-style: italic; }
strong { font-weight: 700; }

p { margin: 0 0 20px 0; padding: 0; }

ul { margin: 0; padding: 0 0 10px 0; }
ul li { list-style-type: disc; list-style-position: outside; margin: 0 0 0 20px; padding: 0 0 10px 0; }

ul ul { padding: 0; }
ul ul li { list-style-type: circle; padding: 0; }

table { margin: 0 0 20px 0; padding: 0;}
td { padding: 0 8px 6px 0; vertical-align: top; }

hr { clear: both; height: 1px; width: 100%; margin: 0 0 20px 0; border: none; background-color: #3d454c; } 

.small  { display: block; font-size: 13px; line-height: 16px; color: #333; font-style: italic; padding-top: 5px; } /* Bildunterschriften */


a { text-decoration: none; color: #082c5c; }
a:hover, a:focus { text-decoration: none; color: #a49070; }
a:active, a:focus { outline: 0; }

/* Waehlt nur Links aus, die ein Bild enthalten, damit der focus um das Bild liegt und nicht nur der line-height */
a:has(img) { display: inline-block; }

a:hover img, a:focus img { opacity: 0.8; }

a:focus-visible { outline: 2px solid blue; outline-offset: 3px; }


.link_as_button_blue,
.link_as_button_brown { display: inline-block; padding: 5px 50px 5px 20px; text-decoration: none; background-position: right center; background-repeat: no-repeat; background-image: url(link_as_button.png); }

.link_as_button_blue { background-color: #082c5c; color: #fff; }
.link_as_button_brown { background-color: #a49070; color: #fff; }


.link_as_button_blue:hover, .link_as_button_blue:focus { background-color: #a49070; color: #fff; text-decoration: none; }
.link_as_button_brown:hover, .link_as_button_brown:focus { background-color: #082c5c; color: #fff; text-decoration: none; }

/*Sonderfall */
.link_as_button_brown.ohne_pfeil { padding: 5px 20px; background-image: none; line-height: 25px; }
span.pfeil_blue { display: inline-block; width: 25px; height: 25px; line-height: 25px; margin: 0 10px 0 0; vertical-align: middle; border-radius: 50%; overflow: hidden; background-color: #082c5c; background-image: url(pfeil-weiss.png); background-position: center; background-repeat: no-repeat; background-size: contain; }


#page_scroll_to_top { clear: both; display: block; width: 180px; margin: 40px auto 60px auto; }
/*
@media screen and (max-width: 980px) {
	#page_scroll_to_top { display: block; }
}
*/



/* --- Menue-Button --- */
#main_nav_button { display: none; position: absolute; top: 50px; left: 20px; width: 32px; height: auto; margin: 0; padding: 0; z-index: 1001; color: #082c5c; border: none; background-color: transparent; transition: all 200ms ease-in-out; cursor: pointer; }
#main_nav_button:before,
#main_nav_button:after { content: ''; display: block; width: auto; height: 3px; margin: 0; padding: 0; background-color: #082c5c; transition: all 200ms ease-in-out; }
#main_nav_button:before { margin-bottom: 15px; box-shadow: 0 9px 0 #082c5c; }

#main_nav_button:hover, #main_nav_button:focus { transform: scale(1.1); color: #082c5c; }
#main_nav_button:hover:before, #main_nav_button:focus:before,
#main_nav_button:hover:after, #main_nav_button:focus:after { background-color: #082c5c; }
#main_nav_button:hover:before, #main_nav_button:focus:before { box-shadow: 0 9px 0 #082c5c; }


#main_nav_button.active { color: #082c5c; }
#main_nav_button.active:before,
#main_nav_button.active:after { background-color: #082c5c; }
#main_nav_button.active:before { box-shadow: none; transform: translateY(9px) rotate(45deg); }
#main_nav_button.active:after{ transform: translateY(-9px) rotate(-45deg); }
#main_nav_button.active:hover, #main_nav_button.active:focus { transform: scale(1.1); color: #082c5c; }
#main_nav_button.active:hover:before, #main_nav_button.active:focus:before,
#main_nav_button.active:hover:after, #main_nav_button.active:focus:after { background-color: #082c5c; }




/* --- Menue-Dropdown-Menue --- */
#main_nav_bg { display: block; position: absolute; top: 0; left: 0; width: 100%; height: auto; margin: 0; padding: 0; z-index: 1000; background-color: #fff; }

#page_1 #main_nav_bg { background-color: transparent; }
 
#main_nav_content { display: block; position: relative; top: 0; left: 0; width: 100%; max-width: 1600px; margin: 0 auto; }

/*
#main_nav_logo { display: block; position: absolute; top: 20px; left: auto; right: 2.5%; width: 386px; padding: 0; transition: all 200ms ease-in-out; }

*/

#main_nav_logo { display: block; width: 100%; padding: 10px 2.5%; text-align: right; }
#main_nav_logo img { display: inline-block; width: 260px; }



.main_nav_links { display: block; position: absolute; top: 50px; left: 500px; width: 210px; height: auto; margin: 0; padding: 0; z-index: 90; text-align: left; color: #fff; transition: all 0.25s ease-in; }

.main_nav_links a { display: inline-block; width: 50px; height: 50px; margin: 0 15px 0 0; padding: 0; vertical-align: middle; border-radius: 50%; overflow: hidden; background-color: #082c5c; background-position: center; background-repeat: no-repeat; background-size: contain; text-align: left; text-indent: -1000px; overflow: hidden; transition: all 0.25s ease-in; }

.main_nav_links a:hover, .main_nav_links a:focus { background-color: #a49070; }

.main_nav_links a.link_info { background-color: #a49070; }
.main_nav_links a.link_info:hover, .main_nav_links a.link_info:focus { background-color: #082c5c; }

.main_nav_links a.link_info { background-image: url(icon-info.png); }
.main_nav_links a.link_telefon { background-image: url(icon-telefon.png); }
.main_nav_links a.link_email { background-image: url(icon-email.png); }

/* Sonderfall Seite 1 */
#page_1 .main_nav_links { display: none; }
#page_1 .main_nav_links.homepage { display: block; position: absolute; top: auto; bottom: 160px; left: auto; right: 1.25%; width: 200px; z-index: 90; text-align: center; }
#page_1 .main_nav_links.homepage a { width: 60px; height: 60px; margin: 0 15px; }
#page_1 .main_nav_links.homepage a.link_info { display: block; margin: 0 auto 20px auto; }


#header_spacer { display: block; width: 100%; height: 150px; }



#main_nav { display: block; position: absolute; top: 55px; left: 0; width: 470px; height: auto; margin: 0; padding: 0; z-index: 100; text-align: left; transition: all 0.25s ease-in; }

/* erste Ebene */
#main_nav ul { list-style: none; display: block; position: relative; top: 0; left: 0; width: auto; margin: 0; padding: 5px 0 5px 2.5%; background-color: #a49070; }
#main_nav li { list-style-type: none; display: inline-block; position: relative; top: 0; left: 0; width: auto; height: auto; margin: 0; padding: 0; }
#main_nav li a { display: block; width: auto; height: auto; margin: 0 10px; padding: 0 8px;
	font-size: 18px; line-height: 30px; color: #fff; background-color: transparent; text-decoration: none; border-bottom: none; transition: all 0.25s ease-in; }
#main_nav li a:hover, #main_nav li a:focus { text-decoration: none; color: #082c5c; background-color: transparent; }
#main_nav li a.rex-current,
#main_nav li a.rex-active { text-decoration: none; color: #082c5c; font-weight: 700; background-color: transparent; }

#main_nav li:first-child a { margin: 0 10px 0 0; }


/* zweite Ebene */
#main_nav ul.rex-navi2 { display: none; }
#main_nav ul.rex-navi3 { display: none; }

/* Der eigentliche Dropdown Effekt */
#main_nav li:hover ul, #main_nav li:focus ul { display: block; }
#main_nav li > ul { left: 0; top: 0; }

/* Zweite Ebene */
#main_nav ul.rex-navi2 {
	position: absolute;
	top: 30px; left: 0;
	width: auto; height: auto;
	margin: 0; padding: 5px 0 0 0;
	background-color: transparent;
	text-align: left;
	z-index: 100;
}
#main_nav ul.rex-navi2 li { display:block; width: auto; height: auto; margin: 0; padding: 0; border-top: 1px solid #fff; }
#main_nav ul.rex-navi2 li::after{ display: none; }
#main_nav ul.rex-navi2 li a { display: block; width: auto; height: auto; margin: 0; padding: 5px 18px;
	color: #fff; background-color: #a49070; font-size: 14px; line-height: 20px; text-transform: none; white-space: nowrap;
	border-bottom: 0; }
#main_nav ul.rex-navi2 li a:hover, #main_nav ul.rex-navi2 li a:focus { color: #fff; background-color: #082c5c; }
#main_nav ul.rex-navi2 li a.rex-current,
#main_nav ul.rex-navi2 li a.rex-active { color: #fff; background-color: #082c5c; }

#main_nav ul.rex-navi2 li:first-child { border-top: none; }





/* --- Menue Responsive --- */
@media screen and (max-width: 1200px) {
	
.main_nav_links	{ top: 50px; bottom: auto; left: 450px; right: auto; width: 155px; text-align: left; }
.main_nav_links a { display: inline-block; width: 40px; height: 40px; margin: 0 8px 0 0; }
	
#main_nav { top: 50px; width: 430px; }	
#main_nav li a { margin: 0 5px; }	
#main_nav li:first-child a { margin: 0 5px 0 0; }	

}

@media screen and (max-width: 1100px) {
	
#main_nav_logo img { width: 240px; }
	
.main_nav_links { left: 400px; width: 155px; }
.main_nav_links a { display: inline-block; width: 40px; height: 40px; margin: 0 8px 0 0; }
	
#main_nav { top: 50px; width: 380px; }	
#main_nav li a { margin: 0 5px; padding: 0 4px; }	
#main_nav li:first-child a { margin: 0 5px 0 0; }	

}

@media screen and (max-width: 980px) {

	#header_spacer { display: none; }

	#main_nav_logo img { width: 210px; }

	.main_nav_links { top: 40px; left: 70px; }	
	
	#page_1 .main_nav_links { display: block; }
	
	#page_1 .main_nav_links.homepage { display: none; }	
	
	#main_nav_button { display: block; }

	#main_nav_bg { display: block; position: relative; height: auto; overflow: hidden; }	

	#main_nav { display: none; position: relative; top: 0; width: 100%; min-height: 100%; padding: 80px 0 0 0; background-color: #a49070; text-align: left; }

	#main_nav_button.active { position: fixed; }
	
	#main_nav_bg.active #main_nav_logo { display: none; }
	
	#main_nav_bg.active { display: block; position: fixed; height: 100%; min-height: 100vh; overflow-y: auto; background-color: #a49070; }
	#page_1 #main_nav_bg.active { background-color: #a49070 }
	
	#main_nav_bg.active #main_nav { display: block; }

	#main_nav ul { padding: 0; } 
	#main_nav li { display: block; height: auto; margin: 5px 0; padding: 0; border-top: 1px solid #fff; }
	#main_nav li a { display: inline-block; width: auto; margin: 0; padding: 5px 10px 5px 20px; color: #fff; background-color: #a49070; text-shadow: none; font-size: 21px; line-height: 30px; }
	#main_nav li a:hover,
	#main_nav li a:focus,
	#main_nav li a.rex-active,
	#main_nav li a.rex-current { color: #082c5c; background-color: #a49070; }

	#main_nav li:first-child { border-top: none; }
	
	/* Zweite Ebene */
	#main_nav ul.rex-navi2  { display: block; position: relative; top: 0; margin: 0; padding: 0 5px; background-color: transparent; opacity: 1; border-top: none; text-align: left; }
	#main_nav ul.rex-navi2 li { display: inline-block; width: auto; margin: 0 5px 10px 5px; padding: 0; border-left: none; border-top: none; }
	#main_nav ul.rex-navi2 li a { display:block; width: auto; white-space: normal; margin: 0; padding: 5px 10px; font-size: 15px; line-height: 20px; color: #fff; background-color: #a49070; }
	#main_nav ul.rex-navi2 li a:hover, #main_nav ul.rex-navi2 li a:focus { color: #082c5c; background-color: #a49070; }
	#main_nav ul.rex-navi2 li a.rex-active,
	#main_nav ul.rex-navi2 li a.rex-current { color: #082c5c; background-color: #a49070; }
}

@media screen and (max-width: 480px) {
	
#main_nav_logo { padding: 10px 10px; }

.main_nav_links,
#page_1 .main_nav_links { display: none; }	
	
	
#main_nav_bg.active .main_nav_links,
#page_1 #main_nav_bg.active .main_nav_links	{ display: block; position: relative; top: 0; left: 0; width: 100%; text-align: center; padding: 20px 0 40px 0; }	
	
	
#main_nav_content .main_nav_links a.link_info { background-color: #082c5c; }
#main_nav_content .main_nav_links a.link_info:hover, #main_nav_content .main_nav_links a.link_info:focus { background-color: #a49070; }
	
#page_1 .main_nav_links.homepage { display: block; top: 15px; bottom: auto; left: auto; right: 15px; width: 40px; }
#page_1 .main_nav_links.homepage a { display: none; }	
#page_1 .main_nav_links.homepage a.link_info { display: block; width: 40px; height: 40px; margin: 0; }	
	
	
}


/* --- Ausrichtung der Seite und der <div>-Container (Reihenfolge von oben nach unten) --- */ 

#header_bg, #header, #header_image, #content, #footer_bg, #footer
{ display: block; position: relative; top: 0; left: 0; width: 100%; height: auto; margin: 0; padding: 0; z-index: 1; }



/* ------------------- */

#page_1 #header_bg { background-color: #f2f4f7; }

#header,
#header_image { max-width: 1920px; margin: 0 auto; }


#content { padding: 30px 0 0 0; min-height: 400px; z-index: 10; }


/* -----------footer--------------------------- */
#footer_bg { display: block; width: 100%; height: auto; margin: 0; padding: 0; z-index: 10; background-color: #082c5c; border-bottom: 10px solid #a49070; }
	
#footer {
	display: flex; flex-wrap: wrap; flex-direction: row; align-items: center; justify-content: space-between; max-width: 1600px; margin: 0 auto; padding: 20px 10px; color: #fff; 
}
#footer_left { width: 66%; text-align: left; white-space: nowrap; }
#footer_right { width: 33%; text-align: right; white-space: nowrap; }

#footer	a { text-decoration: none; color: #fff; }
#footer a:hover, #footer a:focus { text-decoration: none; color: #a49070; }	
	
#footer a,
#footer	span { display: inline-block; margin: 0 8px; }



/* ---  Cookie-Hinweis ohne OK-Button - Datenschutzinfo --- */ 
#datenschutzinfo { clear: both; display: block; width: 100%; height: auto; margin: 0; padding: 15px 10px; background-color: #333; font-size: 14px; line-height: 20px; color: #fff; text-align: center; }
#datenschutzinfo a { color: #fff; text-decoration: underline; }
#datenschutzinfo a:hover, #datenschutzinfo a:focus { color: #fff; text-decoration: none; }



/* --- Module --- */ 

/* Video per YouTube */
.video { position:relative; padding: 0 0 56.25% 0; margin: 0 0 20px 0; /* 56.25% wegen 16:9 Format */ height:0; overflow:hidden; border: 1px solid #fff; }
.video iframe { position: absolute; top: 0; left: 0; width: 100% !important; height: 100% !important; border: none; }



/* Redaxo Download Modul */ 
.download_box { width: auto; margin: 0 0 1.0em 0; padding: 5px 0; font-size: 0.9em; }
.download_box .download_hdl {  }
.download_icon { float: left; } 
.download_icon a { font-size: 0.9em; }
.download_icon a.extern { padding-right: 0; background: none; }
.download_text { margin-left: 50px; padding: 0 0 0 5px; }
.download_desc { color: #999; margin: 0; font-size: 0.7em; }
.download_without_desc { }



#article_nav { clear: both; display: block; width: auto; margin: 60px 2.5% 40px 2.5%; }
#article_nav_back { float: left; width: 20%; }
#article_nav_next { float: right; width: 20%; text-align: right; }
#article_nav_home { margin: 0 21%; text-align: center; }


/* ------------------- */



.kontakt_sprechzeiten_bg { clear: both; }
#page_1 .kontakt_sprechzeiten_bg { background-color: #082c5c; border-top: 5px solid #a49070; }

.kontakt_sprechzeiten_flex { display: flex; flex-wrap: wrap; flex-direction: row; align-items: center; justify-content: space-between; width: 100%; max-width: 768px; height: auto; margin: 0 auto; text-align: center; color: #fff; }

.kontakt_sprechzeiten_box { display: block; min-width: 320px; margin: 0; padding: 10px; background-color: #082c5c; height: auto; text-align: center; color: #fff; }


.kontakt_sprechzeiten_box strong { display: inline-block; margin: 0 0 5px 0; font-size: 20px; line-height: 25px; }	
	
.kontakt_sprechzeiten_box a { text-decoration: none; color: #fff; }
.kontakt_sprechzeiten_box a:hover, .kontakt_sprechzeiten_box a:focus { text-decoration: none; color: #a49070; }		

.kontakt_sprechzeiten_box a.box_1_kontakt_telefon { color: #a49070; font-size: 24px; line-height: 25px; }
.kontakt_sprechzeiten_box a.box_1_kontakt_telefon:hover, .kontakt_sprechzeiten_box a.box_1_kontakt_telefon:focus { color: #fff; }

.box_2_sprechzeiten_flex { display: flex; flex-wrap: wrap; flex-direction: row; align-items: center; justify-content: space-between; width: 100%; height: auto; }
.box_2_sprechzeiten_flex span { display: block; }	
	
@media all and (max-width:768px) 
{
	.kontakt_sprechzeiten_box { max-width: 320px; min-width: 260px; }
}

@media all and (max-width:640px) 
{
	.kontakt_sprechzeiten_flex { display: block; }
	.kontakt_sprechzeiten_box { margin: 0 auto; }	
}


.terminanfrage_balken { display: block; position: absolute; top: -30px; left: 15%; right: 15%; width: auto; margin: 0; height: 10px; margin: 0; padding: 0; z-index: 1; background-color: #082c5c; }


.terminanfrage_headline { clear: both; display: block; width: auto; margin: 0 2.5% 10px 2.5%; color: #dbd3c6; font-size: 56px; line-height: 66px; font-weight: bold; }

.terminanfrage_flex { display: flex; flex-wrap: wrap; flex-direction: row-reverse; align-items: flex-start; justify-content: flex-start; }

.terminanfrage_image,
.terminanfrage_text { display: block; width: 46.25%; margin: 0 2.5% 2.5% 0; }

.terminanfrage_zitat { display: block; margin: 0 0 20px 0; font-size: 21px; line-height: 30px; color: #082c5c; }

a.terminanfrage_telefon,
a.terminanfrage_email { display: inline-block; color: #fff; text-decoration: none; font-size: 18px; line-height: 25px; font-weight: bold; margin: 0 0 10px 30px; vertical-align: middle; }
	
a.terminanfrage_telefon::before,
a.terminanfrage_email::before { content: ''; display: inline-block; margin: 0 10px 0 0; width: 25px; height: 25px; vertical-align: middle; border-radius: 50%; overflow: hidden; background-color: #082c5c; background-image: url(pfeil-weiss.png); background-position: center; background-repeat: no-repeat; background-size: contain; }

a.terminanfrage_telefon:hover,
a.terminanfrage_email:hover,
a.terminanfrage_telefon:focus,
a.terminanfrage_email:focus { color: #082c5c; text-decoration: none; }

a.terminanfrage_telefon:hover::before,
a.terminanfrage_email:hover::before,
a.terminanfrage_telefon:hover::before1,
a.terminanfrage_email:hover::before1 { background-color: #a49070; }


@media all and (max-width:1200px) 
{
	.terminanfrage_zitat { font-size: 1.75vw; line-height: 2.5vw; }
	a.terminanfrage_telefon,
	a.terminanfrage_email { font-size: 1.5vw; line-height: 2.08vw; }	

}

@media all and (max-width:980px) 
{
	.terminanfrage_flex { display: block; }

	.terminanfrage_image,
	.terminanfrage_text { display: block; width: 95%; margin: 0 0 2.5% 2.5%; }	
	
	.terminanfrage_zitat { font-size: 21px; line-height: 30px; }
	a.terminanfrage_telefon,
	a.terminanfrage_email { font-size: 18px; line-height: 25px; }
}

@media all and (max-width:4980px) 
{
.terminanfrage_headline { font-size: 42px; line-height: 52px; }
.terminanfrage_zitat { font-size: 20px; line-height: 30px; }
}





.startseite_leistungen_flex { display: flex; flex-wrap: wrap; flex-direction: row; align-items: flex-start; justify-content: space-between; padding: 0 2.5%; }

.startseite_leistungen_flex a { display: block; position: relative; top: 0; left: 0; width: 21.25%; height: auto; padding: 21.25% 0 0 0; border-radius: 50%; margin: 0 0 5% 0%; background-color: #a49070; }

.startseite_leistungen_flex a:hover, .startseite_leistungen_flex a:focus { background-color: #082c5c; }

.startseite_leistungen_flex a span { display: block; position: absolute; top: 50%; left: 0; width: 100%; height: auto; margin: -12px 0 0 0; font-size: 18px; line-height: 24px; color: #fff; text-decoration: none; text-align: center; }

.startseite_leistungen_flex a.row2 span { margin: -24px 0 0 0; }


.startseite_leistungen_flex a::after { content: ''; display: block; position: absolute; top: auto; bottom: 10px; left: auto; right: -10px; margin: 0; width: 25px; height: 25px; vertical-align: middle; border-radius: 50%; overflow: hidden; background-color: #082c5c; background-image: url(pfeil-weiss.png); background-position: center; background-repeat: no-repeat; background-size: contain; }

.startseite_leistungen_flex a:hover::after, .startseite_leistungen_flex a:focus::after { background-color: #a49070; }

@media all and (max-width:768px) 
{
	.startseite_leistungen_flex a { width: 30%; padding: 30% 0 0 0; }
}

@media all and (max-width:480px) 
{
	.startseite_leistungen_flex { padding: 0 20px; }
	.startseite_leistungen_flex a { width: 47.5%; padding: 47.5% 0 0 0; }
}

.box_2_bilder { clear: both; display: flex; flex-wrap: wrap; flex-direction: row; align-items: flex-start; justify-content: space-between; max-width: 1920px; margin: 0 auto 40px auto; padding: 0; text-align: center; color: #fff; background-color: #a49070; }

.box_2_bilder_bild { width: 50%; margin: 0; padding: 0; }
.box_2_bilder_bild.bild_1 { padding-right: 5px; }
.box_2_bilder_bild.bild_2 { padding-left: 5px; }

.box_2_bilder_subline { width: 100%; padding: 10px 2.5%; background-color: #082c5c; color: #a49070; }


@media all and (max-width:480px) 
{
.box_2_bilder { display: block; }

.box_2_bilder_bild { width: 100%; }
.box_2_bilder_bild.bild_1 { padding-right: 0; padding-bottom: 10px; }
.box_2_bilder_bild.bild_2 { padding-left: 0; }
}



.section_bg_blue_logo h2 { margin: 10px 0 30px 0; }

#team_bg_blue_logo { display: block; position: absolute; top: 0; left: 50%; width: 450px; height: 450px; margin: 0 0 0 -225px; padding: 0; z-index: -1; background-image: url(section_bg_blue_logo.png); background-position: top center; background-repeat: no-repeat; background-size: contain; }

.team_box { display: block; width: 100%; height: auto; margin: 0; padding: 0; text-align: center; }

.team_box_image { display: block; margin: 0 auto 20px auto; padding: 0; text-align: center; }
.team_box_image img { display: block;  margin: 0 auto; padding: 0; border-radius: 50%; overflow: hidden; }

.team_box.aerztin .team_box_image { max-width: 240px; } 
.team_box.mitarbeiter .team_box_image { max-width: 180px; } 
.team_box.mitarbeiter .team_box_image img { border: 2px solid #a49070; } 

.team_box_name { display: block; margin: 0 0 10px 0; font-weight: bold; color: #a49070; }

.team_box_text { display: block; margin: 0; }

.team_box .slidedown_box_button { color: #fff; }



.slidedown_box { clear: both; display: block; width: auto; height: auto; margin: 0 0 20px 0; padding: 0; z-index: 10; }



.slidedown_box_button {
  display: inline-block; width: auto; height: auto; margin: 0; padding: 0;
  cursor: pointer; outline: none; background-color: transparent; color: #fff; }

.slidedown_box_button::after { content: ''; display: inline-block; margin: 0 0 0 10px; width: 25px; height: 25px; vertical-align: middle; border-radius: 50%; overflow: hidden; background-color: #a49070; background-image: url(pfeil-weiss.png); background-position: center; background-repeat: no-repeat; background-size: contain; transform: rotate(90deg); }

.slidedown_box_button:hover, .slidedown_box_button:focus { color: #a49070; background-color: transparent; }

.slidedown_box.active .slidedown_box_button { color: #a49070; background-color: transparent; }
.slidedown_box.active .slidedown_box_button::after { transform: rotate(-90deg); }

.slidedown_box_content {
  display: block; margin: 0; padding: 0;
  max-height: 0; overflow: hidden; 
  transition: max-height 0.2s ease-out;
}
.slidedown_box.active .slidedown_box_content  { max-height: none; padding: 20px 0 1px 0; }

@media all and (max-width:980px) {
	
	
}

@media all and (max-width:768px) {
	
	#team_bg_blue_logo { display: none; }
	
	.section_bg_blue_logo .box_width_1_2 { width: 95%; }
	
	
}



/* --- */

.content_1_2_and_slidedown { display: block; float: left; width: 50%; margin: 0 0 20px 0; padding: 20px 2.5% 1px 2.5%; }

.content_1_2_and_slidedown .slidedown_box { padding: 0 0 20px 0; border-bottom: 2px solid #a49070; }
.content_1_2_and_slidedown.bg_color_brown .slidedown_box { border-bottom: 2px solid #fff; }

.content_1_2_and_slidedown h2 { margin-bottom: 25px; }

.content_1_2_and_slidedown .slidedown_box_button::after { display: none; }


.bg_color_brown { background-color: #a49070; color: #fff; }
.bg_color_brown h1, .bg_color_brown h2, .bg_color_brown h3, .bg_color_brown p, .bg_color_brown li { color: #fff; }
.bg_color_brown a { color: #082c5c; }
.bg_color_brown a:hover, .bg_color_brown a:focus { color: #fff; }


.slidedown_box_button { color: #082c5c; }
.content_1_2_and_slidedown .slidedown_box_button { font-size: 21px; line-height: 25px; }

.content_1_2_and_slidedown .slidedown_box_button::before { content: ''; display: inline-block; margin: 0 10px 0 0; width: 25px; height: 25px; vertical-align: middle; border-radius: 50%; overflow: hidden; background-color: #082c5c; background-image: url(pfeil-weiss.png); background-position: center; background-repeat: no-repeat; background-size: contain; }

.content_1_2_and_slidedown .slidedown_box.active .slidedown_box_button::before { transform: rotate(90deg); }

.content_1_2_and_slidedown .slidedown_box_button:hover, .content_1_2_and_slidedown .slidedown_box_button:focus { color: #a49070; }


.content_1_2_and_slidedown.bg_color_brown .slidedown_box_button { color: #fff; }
.content_1_2_and_slidedown.bg_color_brown .slidedown_box_button::before { background-color: #082c5c; }
.content_1_2_and_slidedown.bg_color_brown .slidedown_box_button:hover, .content_1_2_and_slidedown.bg_color_brown .slidedown_box_button:focus { color: #082c5c; }

.content_1_2_and_slidedown.bg_color_brown .slidedown_box_button::before { background-color: #fff; background-image: url(pfeil-braun.png); }



@media all and (max-width:768px) 
{
.content_1_2_and_slidedown  { float: none; width: 100%; }
}






/* --- yForm --- */ 
.yform div.alert { padding: 15px 30px 5px 30px; margin-bottom: 20px; border-radius: 4px; }
.yform div.alert span { margin-right: 15px; }
.yform div.alert-danger { border: 2px solid #a94442; background-color: #f2dede; color: #a94442; }
.yform .alert ul { list-style-type: none; margin: 0; padding: 0; }
.yform .alert li { list-style-type: none; margin: 0 0 10px 0; padding: 0; color: #a94442; }

.has-error label { color: #a94442; }

.yform form { display: block; margin: 0 0 20px 0; padding: 0; }
.yform label { display: block; font-size: 14px; line-height: 20px; }
.yform form.hide-label label { display: none; }

.yform .form-control {
    box-sizing: border-box; 
	display: block;	width: 99%; height: auto; margin: 0 0 20px 0; padding: 5px 10px;
    font-family: inherit; font-size: 14px; line-height: 20px; color: #000;
	background-color: #fff; border: 1px solid #999; outline: none;
}
.yform .form-control:hover { border-color: #a8aeb5; }
.yform .form-control:focus { border-color: #37434f; outline: none; box-shadow: none; }

.yform textarea.form-control { height: 210px; }

.yform .formcheckbox label { display: block; float: none; width: auto; margin: 0 0 10px 0; padding: 0; }
.yform .formcheckbox label input { display: block; float: left; width: auto; margin: 0 10px 0 0; }
.yform .formcheckbox label span { display: block; float: none; width: auto; margin: 0 0 5px 30px; }

.yform .form-check-group { clear: both; margin: 0 0 20px 0; }
.yform .form-check-group .control-label { clear: both; display: block; margin: 0 0 10px 0; }

.yform .radio { display: block; float: none; width: auto; margin: 0 0 10px 0; padding: 0; }
.yform .radio label input { display: block; float: left; width: auto; margin: 5px 10px 0 0; }

.yform .checkbox { clear: both; margin: 0 0 20px 0; }
.yform .checkbox label input { display: block; float: left; width: auto; margin: 5px 10px 0 0; }


/* Button */
.yform .btn-primary {
	clear: both; display: block; width: 140px; height: auto; margin: 0 0 10px 0; padding: 5px;
    border: none; border-radius: 5px;
    text-align: center; font-weight: bold; 
    background-color: #c51112; color: #FFF; 
}
.yform .btn-primary:hover { background-color: #00090b; color: #FFF; }

.yform .pflichtfelder { font-size: 0.8em; }

/* Honeypot gegen SPAM */
#yform-contact_formular-email_betreff { display: block; width: 1px; height: 1px; margin: 0; padding: 0; overflow: hidden; }
#yform-contact_formular-email_betreff.has-error { display: block; width: auto; height: auto; margin: 0 0 20px 0; padding: 20px 20px 1px 20px; border: 1px solid #a94442; opacity: 1; background-color: #f0f0f0; color: #a94442; }
#yform-contact_formular-email_betreff.has-error label { display: block !important; margin-bottom: 10px !important; }


.yform strong { font-weight: bold; }

/* eigene CSS Klassen */
.form_clear { clear: both; }

.form_line { display: block; width: 100%; height: 2px; margin: 10px 0 30px; padding: 0; background-color: #c51112; }

.form_left,
.form_right { display: block; float: left; width: 49%; margin: 0; padding: 0; }
.form_left { clear: both; }
.form_right { float: right; }

.form_left label,
.form_right label,
.form_full label { display: none; }
.form-check-group label { display: inline-block; }


.yform .hinweis { font-size: 12px; line-height: 20px; }


@media all and (max-width:768px) {
.form_left,
.form_right { float: none; width: auto; }
	
}



/* --------- Responsive ---------- */


@media all and (max-width:768px) {
	
h1, .like_h1 { font-size: 28px; } 
h2, .like_h2 { font-size: 24px; } 
	
	
.box_width_1_4 { clear: none; width: 46.25%; }	

#footer { display: block; }
#footer_left,
#footer_right { width: 100%; text-align: center; white-space: normal; }
#footer_left { margin: 0 0 10px 0; }	

#footer span { display: block; }
	
}


@media all and (max-width:480px) {
	
h1, .like_h1 { font-size: 26px; } 
h2, .like_h2 { font-size: 22px; } 
h3, .like_h3 { font-size: 20px; } 

.text_bild .flLeft,
.text_bild .flRight { float: none; width: auto; max-width: none; margin: 0 0 15px 0; }

.zweispalter { background-image: none; }
.zweispalter .flLeft { float: none; width: auto; margin: 0 0 15px 0; }
.zweispalter .flRight { float: none; width: auto; margin: 0; }

.outer_box { clear: both; float: none; width: auto; margin: 0 2.5% 20px 2.5%; }
.box_width_full { width: 100%; margin: 0 0 20px 0; }
	
	
}

