/* --- 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 { 
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; }


html, body {
font-family: Arial, Helvetica, sans-serif;
font-size: 14px; line-height: 20px;
color: #2c2c2b;
/* Woerter in die naechste Zeile umbrechen, wenn sie ansonsten das umschliessende Element verlassen wuerden. */
word-wrap:break-word;
height: 100%;
}
html { overflow: scroll; overflow-x: auto; background-color: #FFF; }



/* ----------------------------------------------------------------------------------
   Schriften + Generelle CSS-Anpassungen fuer diese Webseite
---------------------------------------------------------------------------------- */ 


a { text-decoration: none; color: #762009; }
a:hover, a:focus { text-decoration: none; color: #f29100; }
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; }

ul { margin: 0 0 20px 0; }
ul li { list-style-type: disc; margin: 0 0 5px 17px; padding: 0; }

h1, h2, h3, h4, h5, h6,
.like_h1, .like_h2, .like_h3, .like_h4, .like_h5, .like_h6 { font-weight: bold; font-style: normal; font-size: 14px; line-height: 20px; margin: 0 0 15px 0; color: #f29100; }
h1, .like_h1 { font-size: 24px; line-height: 30px; }
h2, .like_h2 { font-size: 20px; line-height: 26px; }
h3, .like_h3 { font-size: 16px; line-height: 22px; } 
h4, .like_h4 { font-size: 14px; } 
h5, .like_h5 { font-size: 12px; } 
h6, .like_h6 { font-size: 10px; } 


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

hr { clear: both; display: block; width: 92.77%; height: 3px; margin: 0 0 20px 3.61%; border: none; background-color: #98BF0D; } 
.small  { display: block; font-size: 12px; line-height: 16px; color: #666; padding-top: 5px; } /* Bildunterschriften */

/* ----------------------------------------------------------------------------------
   CSS-Einstellungen fuer das Addon Modulhelper (bzw. bw_modulhelper)
---------------------------------------------------------------------------------- */ 
/* ------------ Outer Box ------------ */
/* Ausgangswerte: (Seitenbreite: 830px | Abstand: 30px) */
.outer_box { clear: both; display: block; float: left; width: 92.77%; margin: 0 0 20px 3.61%; padding: 0; }

.box_width_full { width: 100%; margin: 0 0 20px 0; }
.box_width_1_2 { clear: none; width: 44.58%; }
.box_width_1_3 { clear: none; width: 28.51%; }
.box_width_2_3 { clear: none; width: 60.63%; }
.box_width_1_4 { clear: none; width: 20.48%; }

.box_gray { background-color: #efefee; color: #000; } .box_gray * { color: #000; }

.outer_box_inner { display: block; padding: 20px 20px 1px 20px; }
.outer_box_inner .image { margin: 0 !important; }

.headline_box { margin-bottom: 0 !important; }
#sidebar .outer_box { float: none !important; width: 100% !important; margin: 0 0 20px 0 !important; }


/* ----------------------------------------------------------------------------------
 Clearfix, um das Floating innerhalb der Container aufzuheben fuer Firefox, IE8, Opera, Safari, etc.
---------------------------------------------------------------------------------- */ 
.outer_box_inner:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
* + html .outer_box_inner { display: inline-block; } /* fuer IE7 */
* html .outer_box_inner { height: 1%; } /* fuer IE6 */


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


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

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

/* ----------------------------------------------------------------------------------
   Ausrichtung der Seite und der <div>-Container (Reihenfolge von oben nach unten)
---------------------------------------------------------------------------------- */ 
#page_bg { position: relative; top: 0; left: 0; width: 100%; height: auto; min-height: 100%; margin: 0; padding: 0; z-index: 1; }

/* Relative Bloecke innerhalb von "page" */
#page, #header_bg, #header, #navigation_not_responsive, #logo, #wrapper_bg, #wrapper, #sidebar, #content, #footer_bg, #footer {
display: block; position: relative; top: 0; left: 0; width: 100%; height: auto; margin: 0; padding: 0; z-index: 1; }

#page { width: 1240px; margin: 0 auto; }

#header { width: auto; margin: 0 2.42%; padding: 55px 0 31px 0; }

#logo { position: absolute; top: 15px; left: 34px; width: 178px; height: 87px; z-index: 10; background-color: #FFF; }

#navigation_not_responsive { width: auto; padding: 0 0 0 250px; background-color: #98bf0d; }

#header_image_bg { }
#header_image { width: auto; margin: 0 2.42%; }

#wrapper_bg { }
#wrapper { padding: 40px 0 20px 0; }

#content { float: left; width: 830px; margin: 0; padding: 0; }
#sidebar { float: right; width: 380px; margin: 0 30px 0 0; }

#footer_bg { clear: both; width: auto; margin: 0 2.42% 20px 2.42%; padding: 10px 0; background-color: #98bf0d; }
#footer { color: #FFF; font-size: 13px; line-height: 20px; }

#footer a { color: #FFF; text-decoration: none; }
#footer a:hover, #footer a:focus { color: #FFF; text-decoration: underline; }
#footer span { display: inline-block; white-space: nowrap; }

#footer_left { display: block; float: left; width: 56.40%; margin: 0 0 0 1.80%; }
#footer_right { display: block; float: right; width: 36.40%; margin: 0 1.80% 0 0; text-align: right; }

#footer_left span.not_mobile { display: inline-block; margin: 0 5px; }

#navigation_button { display: none; position: absolute; top: 20px; left: auto; right: 10px; width: 53px; height: 53px; text-decoration: none; padding: 0; color: #FFF; background-image: url(mobile_menue.png); background-repeat: no-repeat; background-position: center center; z-index: 999; overflow: hidden; text-indent: -99999px; }
#navigation_button:hover, #navigation_button:focus { opacity: 0.8; }

#navigation { position: relative; top: 0; left: 0; width: 100%; height: auto; margin: 0; padding: 0; z-index: 1000; }

/* erste Ebene */
#navigation ul { list-style: none; display: block; margin: 0; padding: 0; }
#navigation li { list-style-type: none; display: inline-block; position: relative; top: 0; left: 0; width: auto; height: auto; margin: 0 14px; padding: 0; }
#navigation ul li a { display: block; width: auto; height: auto; margin: 0; padding: 5px 5px; font-size: 16px; line-height: 20px; color: #FFF; text-decoration: none; }
#navigation ul li a:hover,
#navigation ul li a:focus,
#navigation ul li a.rex-current,
#navigation ul li a.rex-active { text-decoration: none; color: #5e5e5d; }

#navigation ul li:first-child a { }


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

/* dritte Ebene */
#navigation ul.rex-navi3 { display: none; }


/* ---  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: 12px; line-height: 20px; color: #fff; text-align: center; }
#datenschutzinfo a { color: #fff; text-decoration: underline; border-bottom: none; }
#datenschutzinfo a:hover, #datenschutzinfo a:focus  { color: #fff; text-decoration: none; }


/* ----------------------------------------------------------------------------------
   Responsive Webdesign
---------------------------------------------------------------------------------- */ 
/* wird nur ab Mobil benoetigt, deswegen generell erstmal ausblenden */
#navigation li a span { display: none; } 

@media screen and (max-width: 980px) {  
#navigation li { margin: 0 10px; }
#navigation ul li a { padding: 5px 5px; font-size: 15px; line-height: 20px; }

}

@media screen and (max-width: 874px) {  
#navigation li { margin: 0 4px; }
#navigation ul li a { padding: 5px 4px; font-size: 14px; line-height: 20px; }

}

@media screen and (max-width: 768px) {  
#navigation_button { display: block; }

	
#navigation { clear: both; position: relative; top: 0; left: 0; width: 100%; height: auto; margin: 0; max-height: 0; overflow: hidden; background-color: #eaf2cf; }
#navigation > ul ul { overflow: hidden; max-height: 0; }

#navigation.active, #navigation > ul ul.active { max-height: 99999em; } 
#navigation ul { display: block; }
#navigation ul li { display: block; float: none; height: auto; margin: 0; padding: 0; border-left: none; }
#navigation ul li a { display: block; float: none; width: auto; height: auto; margin: 0; padding: 10px 10px 10px 10px;  font-size: 18px; line-height: 18px; border-bottom: 1px solid #808080; color: #000; background-color: transparent; background-image: none; text-align: left; text-shadow: none; }
#navigation ul li a:hover, 
#navigation ul li a:focus { background-color: #f29100; color: #FFF !important; }
#navigation ul li a.rex-current,
#navigation ul li a.rex-active { background-color: #98bf0d; color: #FFF; padding: 10px 10px 10px 10px; color: #FFF; text-align: left; }


/* Zweite Ebene */
#navigation ul.rex-navi2 { display: inherit; position: relative; top:auto; left: auto; box-shadow: none; border-top: none; }
#navigation ul.rex-navi2 li a { padding: 10px 10px 10px 20px; font-size: 15px; line-height: 18px; color: #000; background-color: #eaf2cf; border-top: none; border-bottom: 1px solid #808080; background-image: none; text-shadow: none; }
#navigation ul.rex-navi2 li a:hover, 
#navigation ul.rex-navi2 li a:focus { background-color: #f29100; color: #FFF !important; }
#navigation ul.rex-navi2 li a.rex-current,
#navigation ul.rex-navi2 li a.rex-active { background-color: #98bf0d; color: #FFF; }

#navigation ul.rex-navi2 li:last-child a { padding-bottom: 10px; border-radius: 0; }

/* Dritte Ebene */
#navigation ul.rex-navi3 { display: inherit; position: relative; top:auto; left: auto; box-shadow: none; border-top: none; }
#navigation ul.rex-navi3 li a { padding: 10px 10px 10px 30px; font-size: 13px; line-height: 18px; color: #000; background-color: #eaf2cf; border-top: none; border-bottom: 1px solid #808080; background-image: none; text-shadow: none; }
#navigation ul.rex-navi3 li a:hover,
#navigation ul.rex-navi3 li a:focus { background-color: #f29100; color: #FFF !important; }
#navigation ul.rex-navi3 li a.rex-current,
#navigation ul.rex-navi3 li a.rex-active { background-color: #98bf0d; color: #FFF; }

#navigation ul.rex-navi3 li:last-child a { padding-bottom: 10px; border-radius: 0; }

/* 1.) Zum Anklicken bei Menuepunkten mit Submenue
#navigation li.has-submenu > a:after { content: '+'; position: absolute; top: 0; right: 0; display: block; font-size: 1.5em; padding: 10px 10px; }
#navigation li.has-submenu > a.active:after { content: "-"; }
*/

/* 2.) Alternative mit Hauptpunkten anklickbar lassen (1. dann auskommentieren) */
#navigation li a span { display: none; } 
#navigation li.has-submenu a span  { content: ''; display: block; position: absolute; top: 4px; right: 4px; width: 32px; height: 32px; margin: 0; padding: 0; z-index: 10; 
background-color: #FFF; text-indent: -9999px; overflow: hidden; background-image: url(mobile_menue_arrow_down.png); background-position: center center; background-repeat: no-repeat;
border-radius: 6px; }
#navigation li.has-submenu a span:hover,
#navigation li.has-submenu a span:focus { background-color: #E0E0E0; }
#navigation li.has-submenu a.active span { background-image: url(mobile_menue_arrow_up.png); } 

/* zweite Ebene */
#navigation li.has-submenu ul.rex-navi2 li a span { display: none; } 
#navigation li.has-submenu ul.rex-navi2 li.has-submenu a span { display: block; } 

/* dritte und letzte Ebene */
#navigation li.has-submenu ul.rex-navi3 li a span { display: none !important; } 
 
}


/* ----------------------------------------------------------------------------------
   Module
---------------------------------------------------------------------------------- */ 
/*
#google_map_iframe iframe { width: 100% !important; border: none !important; }

.video { clear: both; display: block; position: relative; top: 0; left: 0; width: 100%; height: 0; margin: 0 0 20px 0; padding: 30px 0 56.25% 0; overflow: hidden; }
.video iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none !important; }
*/

/* video_self_hosted */
.video_box { display: block; margin: 0 0 20px 0; }
.video_box video { display: block; width: 100%; height: auto; margin: 0; border: 2px solid #f29100; }

#subnav_bg { display: block; width: 100%; margin: 0 0 20px 0; background-color: #eaf2cf; border-bottom: 5px solid #98BF0D; }
#subnav_headline { display: block; margin: 0; padding: 5px 10px 5px 15px; color: #FFF; background-color: #98BF0D; font-size: 18px; line-height: 30px; font-weight: bold; }

#subnav { display: block; margin: 0; padding: 15px 10px 5px 15px; }
#subnav ul { display: block; margin: 0; padding: 0; }
#subnav ul li { display: block; margin: 0; padding: 0; list-style-type: none; }
#subnav ul li a { display: block; margin: 0 0 10px 0; padding: 0 0 0 10px; color: #2c2c2b; text-decoration: none; font-size: 14px; line-height: 20px; background-image: url(icon_subnav.png); background-position: left top; background-repeat: no-repeat; }
#subnav ul li a:hover,
#subnav ul li a:focus,
#subnav ul li a.rex-current,
#subnav ul li a.rex-acrtive { color: #f29100; text-decoration: none; }

#subnav ul.rex-navi2 li a { padding: 3px 0 3px 20px; color: #0099cc; font-size: 13px; line-height: 20px; text-decoration: none; }
#subnav ul.rex-navi2 li a:hover,
#subnav ul.rex-navi2 li a:focus,
#subnav ul.rex-navi2 li a.rex-current,
#subnav ul.rex-navi2 li a.rex-acrtive { color: #72a601; text-decoration: none; }


#teaser_meldungen_bg { background-color: #efefee; border-bottom: 5px solid #5e5f5d; }
#teaser_meldungen { display: block; margin: 0; padding: 15px 10px 5px 15px; }
#teaser_meldungen_headline { display: block; margin: 0; padding: 5px 10px 5px 15px; color: #FFF; background-color: #5e5f5d; font-size: 18px; line-height: 30px; font-weight: bold; }
#teaser_meldungen a { display: block; margin: 0 0 10px 0; padding: 0 0 0 25px; color: #2c2c2b; text-decoration: none; font-size: 14px; line-height: 20px; background-image: url(icon_quadrat.gif); background-position: left top; background-repeat: no-repeat; }
#teaser_meldungen a:hover,
#teaser_meldungen a:focus,
#teaser_meldungen a.active { color: #f29100; text-decoration: none; }
#teaser_meldungen p#alle_meldungen { margin: 0 0 5px 0; padding: 0; text-align: right; }
#teaser_meldungen p#alle_meldungen a { padding: 0; background-image: none; }



.termin_datum { float: left; display: block; width: 80px; height: auto; margin: 0 0 20px 0; padding: 5px 0; background-color: #f29100; }
.termin_datum_tag,
.termin_datum_jahr { display: block; text-align: center; color: #FFF !important; font-size: 18px; line-height: 25px; font-weight: bold; }
.termin_text { display: block; width: auto; margin: 0 0 0 100px; }
.termin_text h3 { color: #5e5e5d; margin: 0 0 5px 0; padding: 0; }
.termin_text p { margin: 0 0 5px 0; padding: 0; }
.termin_beginn { display: block; margin: 0; font-size: 12px; line-height: 20px; }
.termin_ort { display: block; font-size: 12px; line-height: 20px; }
.termin_active { }
.termin_old { opacity: 0.25; }

#teaser_termine_bg { background-color: #efefee; border-bottom: 5px solid #5e5f5d; }
#teaser_termine { display: block; margin: 0; padding: 15px 10px 5px 15px; }
#teaser_termine_headline { display: block; margin: 0; padding: 5px 10px 5px 15px; color: #FFF; background-color: #5e5f5d; font-size: 18px; line-height: 30px; font-weight: bold; }
#teaser_termine .termin_box { clear: both; display: block; margin: 0 0 10px 0; }
#teaser_termine .termin_datum { width: 60px; }
#teaser_termine .termin_datum_tag,
#teaser_termine .termin_datum_jahr { font-size: 14px; line-height: 20px; }
#teaser_termine .termin_text { margin: 0 0 0 70px; }
#teaser_termine .termin_text h3 { color: #5e5e5d; margin: 0; }
#teaser_termine a { color: #2c2c2b; text-decoration: none; }
#teaser_termine a:hover, #teaser_termine a:focus { color: #f29100; text-decoration: none; }
#teaser_termine p#alle_termine { margin: 0 0 5px 0; padding: 0; text-align: right; }





.team_stadtrat_box,
.team_wahl_box { display: block; float: left; width: 28.51%; margin: 0 0 3.61% 3.61%; padding: 0; }
.team_stadtrat,
.team_wahl { display: block; margin: 0; padding: 0; background-color: #efefee; border-bottom: 3px solid #5e5f5d; }
.team_stadtrat_bild,
.team_wahl_bild { display: block; margin: 0; padding: 0; }
.team_stadtrat_name,
.team_wahl_name { display: block; margin: 0; padding: 5px 20px; font-weight: bold; }
.team_wahl_beruf { display: block; margin: 0; padding: 0 20px 5px 20px; }



.team_wahl_2024_flex { clear: both; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: flex-start; align-content: flex-start; }

.team_wahl_2024_box { display: block; width: 28.51%; margin: 0 0 3.61% 3.61%; padding: 3px; background-color: #f29100; }

.team_wahl_2024_bild { display: block; display: block; position: relative; top: 0; left: 0; width: 100%; height: auto; margin: 0; padding: 0; z-index: 1; }

.team_wahl_2024_listennr { display: block; position: absolute; top: auto; bottom: -15px; left: auto; right: -12px; width: 60px; height: 60px; border-radius: 50%; margin: 0; padding: 2px 0 0 0; text-align: center; background-color: #98bf0d; border: 3px solid #f29100; color: #464646; font-size: 30px; line-height: 50px; font-weight: bold; }

.team_wahl_2024_name,
.team_wahl_2024_beruf { display: block; margin: 0; text-align: center; font-size: 16px; line-height: 22px; }
.team_wahl_2024_name { padding: 10px 10px 0 10px; color: #464646; font-weight: bold; }
.team_wahl_2024_beruf { padding: 0 10px 2px 10px; color: #fff; font-style: italic; }



.team_vorstand_box { display: block; float: left; width: 44.58%; margin: 0 0 3.61% 3.61%; padding: 0; }
.team_vorstand { display: block; margin: 0; padding: 0; background-color: #efefee; border-bottom: 3px solid #5e5f5d; }
.team_vorstand_bild { display: block; margin: 0; padding: 0; }
.team_vorstand_funktion { display: block; margin: 0; padding: 5px 20px 0 20px; font-weight: bold; }
.team_vorstand_name { display: block; margin: 0; padding: 0 20px; }
.team_vorstand_text { display: block; margin: 0; padding: 0 20px 5px 20px; }
.team_vorstand_text p { margin: 0; padding: 0; }

.download_icon { display: block; float: left; width: 45px; height: auto; margin: 0 0 10px 0; }
.download_text { display: block; width: auto; height: auto; margin: 0 0 10px 60px; }


#table_spielplaetze table { width: 100%; }
#table_spielplaetze td { padding: 5px 10px; border-right: 2px solid #FFF; border-bottom: 2px solid #FFF; }


.meldungen_startseite { clear: both; display: block; padding: 20px 0 0 0; border-top: 3px dotted #f29100; }
.meldungen_startseite.first { padding: 0; border-top: none; }
.meldungen_startseite_bild { display: block; float: left; width: 150px; margin: 0 0 10px 0; padding: 0; }
.meldungen_startseite_text { display: block; width: auto; margin: 0 0 0 170px; padding: 0; }
.meldungen_startseite_headline { display: block; margin: 0 0 10px 0; padding: 5px 10px; background-color: #f29100; color: #FFF; font-size: 18px; line-height: 30px; font-weight: bold; }




.bildergalerie { clear: both; display: flex; width: auto; margin: 0; flex-flow: row wrap; justify-content: flex-start; }
.bildergalerie .bildergalerie_box { display: block; margin: 0 0 3.61% 3.61%; }
.bildergalerie .image { margin: 0; }
.bildergalerie .image a { display: block; margin: 0; padding: 5px; border: 1px solid #7f7e7d; background-color: #fff; }

.bildergalerie .bildergalerie_box_1_1 { width: 92.77%; }
.bildergalerie .bildergalerie_box_1_2 { width: 44.58%; }
.bildergalerie .bildergalerie_box_1_3 { width: 28.51%; }
.bildergalerie .bildergalerie_box_1_4 { width: 20.48%; }




/* ------ 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; }
.yform form.hide-label label { display: none; }

.yform hr {
    border-top: 1px solid #b8c3cd;
    margin-top: 30px;
    margin-bottom: 30px;
    -moz-box-sizing: content-box;
    box-sizing: content-box;
    height: 0;
}


.yform .form-control {
display: block; width: 98%; max-width: 400px; height: auto; margin: 0 0 20px 0; padding: 5px 1%;
font-size: 14px; line-height: 20px; color: #000;
border: solid 1px #CCC; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; box-shadow: none; background: #FFF;
}
.yform .form-control:hover { border-color: #a8aeb5; }
.yform .form-control:focus { border-color: #37434f; outline: none; box-shadow: none; }

input[type="radio"], input[type="checkbox"] { display: inline-block; margin: 0 5px 10px 0; }

.yform .radio { display: inline-block; margin: 0 10px 0 5px; padding: 0; }
.yform .radio label { display: inline-block; float: none; width: auto; margin: 0; padding: 5px 0; line-height: 20px; }

/* Button */
.yform .btn-primary {
	clear: both;
	display: block;
    width: 140px; height: auto;
	margin: 0 0 10px 0; padding: 5px;
    border: none; background-color: #f29100;
    font-weight: bold; text-align: center; color: #FFF;
	-khtml-border-radius: 5px; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px;	
}
.yform .btn-primary:hover, yform .btn-primary:focus { opacity: 0.6; }

.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; }


/* weitere Anpassungen */
.yform .has-error label { color: #a94442; }
.yform .formcheckbox label { display: block; float: none; width: 100%; margin: 0 0 10px 0; padding: 0; }



.form_left { clear: both; display: block; float: left; width: 49%; }
.form_right { display: block; float: right; width: 49%; }
.form_clear { clear: both; }


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

}




@media all and (max-width:480px) {
.yform label { float: none; width: auto; }
.yform .form-control { width: 96%; margin: 0 0 20px 0; }
.yform .btn-primary { margin: 0 0 10px 0; }
}


.yform .form-control { width: 96%; max-width: 340px; }
.yform textarea.form-control { max-width: 340px; height: 100px; }






/* ----------------------------------------------------------------------------------
   Responsive Webdesign
---------------------------------------------------------------------------------- */
@media all and (min-width:1px) {
#page_bg { width: 100%; min-width: 300px; overflow: hidden; }
}

@media all and (max-width:1240px) {
/* mit dem Setzen der Breite auf geht das reponsive Webdesign erst richtig los */
#page_bg { width: 100%; min-width: 300px; overflow: hidden; }
#page { width: 100%; }

#content { width: 66.94%; margin: 0; }
#sidebar { width: 30.64%; margin: 0 2.42% 0 0; }

}

@media all and (max-width:980px) {
#logo { left: 20px; }
#navigation_not_responsive { padding: 0 0 0 210px; }
}

@media all and (max-width:768px) {
.outer_box { clear: both; float: none; width: 95.16%; margin: 0 0 20px 2.42%; }

.team_vorstand_box,
.team_stadtrat_box,
.team_wahl_box,
.team_wahl_2024_box { float: left; width: 46.37%; margin: 0 0 2.42% 2.42%; padding: 0; }
	
.team_wahl_2024_box { padding: 3px; }

#navigation_not_responsive { display: none; }
#subnav_bg { display: none; }

#header { padding: 0; }

#logo { position: relative; top: 0; left: 0; width: 150px; height: auto; padding: 10px 0; }

#wrapper { padding: 20px 0 5px 0; }

#content { clear: both; float: none; width: 100%; margin: 0 0 30px 0; padding: 0 0 10px 0; }
#sidebar { clear: both; float: none; width: auto; margin: 0 2.42%; padding: 0; }


#footer_bg { width: 100%; margin: 0; }

#footer_left { float: none; width: auto; margin: 0 2.42% 10px 2.42%; }
#footer_right { float: none; width: auto; margin: 0 2.42%; text-align: left; }

}


@media all and (max-width:480px) {
.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; }

#footer_left span { display: block; white-space: nowrap; }
#footer_left span.not_mobile { display: none; }

.team_vorstand_box,
.team_stadtrat_box,
.team_wahl_box,
.team_wahl_2024_box { clear: both; float: none; width: 95.16%; margin: 0 0 20px 2.42%; }
	
.team_wahl_2024_flex { display: block; }
.team_wahl_2024_box { padding: 3px; }
	
.team_wahl_2024_listennr { bottom: -15px; right: -10px; width: 80px; height: 80px; font-size: 45px; line-height: 70px; }
	
.team_wahl_2024_name,
.team_wahl_2024_beruf { font-size: 20px; line-height: 26px; }

.meldungen_startseite_bild { float: none; }
.meldungen_startseite_text { margin: 0; }
}

@media all and (max-width:360px) {
	
.team_wahl_2024_listennr { bottom: -15px; right: -10px; width: 60px; height: 60px; font-size: 30px; line-height: 50px; }
	
.team_wahl_2024_name,
.team_wahl_2024_beruf { font-size: 16px; line-height: 22px; }
	
}
