@charset "UTF-8";
/*
Author:    Sebastian Dubbel
Website:   www.beckerspaeth.de
E-Mail:    dubbel@beckerspaeth.de
Encoding:  UTF-8
*/


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

RESET DEFAULT STYLES

-------------------------------------------------------------------*/
@media screen, print {
	
/* Reset margin and padding of all HTMl elements */
/* CSS Reset, Eric Meyer. URL: http://meyerweb.com/eric/thoughts/2008/01/15/resetting-again/ */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-weight: inherit;
	font-style: inherit;
	font-size: 100%;
	font-family: inherit;
	vertical-align: baseline;
}

/* suppress outline on clicked links. 
   see: http://people.opera.com/patrickl/experiments/keyboard/test#outline-suppressed-on-active */
a:hover, a:active {
	outline: 0;
}

body {
	line-height: 1;
	color: black;
	background: white;
	font-family: "Lucida Grande", "Lucida Sans Unicode", Arial, Verdana, sans-serif;
}

ol, ul {
	list-style: none;
}

/* tables still need 'cellspacing="0"' in the markup */
table {
	border-collapse: separate;
	border-spacing: 0;
}

caption, th, td {
	text-align: left;
	font-weight: normal;
}

blockquote:before, blockquote:after,
q:before, q:after {
	content: "";
}

blockquote, q {
	quotes: "" "";
}

}


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

SCREEN STYLES

-------------------------------------------------------------------*/
@media screen {
	
body {
	text-align: center;
	background: #e3000b url(../images/body_bg.gif) center top no-repeat;
}

body.home {
	text-align: center;
	background-image: url(../images/body_home_bg.gif);
}


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

GLOBAL BLOCK ELEMENTS

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

#logo {
	margin-left: 20px;
}

.center_container {
	width: 960px;
	margin: 0 auto;
	text-align: left;
}

#main_container {
	width: 100%;
	padding-bottom: 30px;
}

#nav_container {
	position: relative;
	z-index: 15;
	min-height: 45px;
	padding: 11px 20px 9px 20px;
	background: url(../images/nav_container.png) 0 0 no-repeat;
}

#slide_container {
	z-index: 11;
	height: 356px;
	margin-bottom: -42px;
	padding: 22px 0 0 140px;
	position: relative;
	background: url(../images/slide_container_bg.png) 0 0 no-repeat;
	overflow: hidden;
}

.has_js #slide_container {
	margin-bottom: -53px;
}

#content_container,
#footer {
	width: 900px;
}

#content_container {
	margin-left: 20px;
	margin-top: 20px;
	padding: 10px;
	background-color: #fff;
	color: #474646;
}

.has_js #content_container {
	width: 900px;	
	margin-left: 0;
	padding: 32px 30px;
	position: relative;
	min-height: 662px;
	background: none;
	overflow: hidden;
}

#footer_container {
	background-color: #b9030c;
}


#footer {
	padding: 0 30px;
}


/*-------------------------------------------------------------------
CONTENT BACKGROUND (ONLY WITH JS)
-------------------------------------------------------------------*/
.content_box .bbg {
	position: absolute;
	z-index: 1;
	top: 395px;
	left: 0;
	height: 100%;
	width: 960px;
	background: url(../images/content_container_border.png) 0 0 repeat-y;
}

.content_box .bt {
	position: absolute;
	z-index: 3;
	top: 0;
	left: 0;
	height: 395px;
	width: 960px;
	background: url(../images/content_container_top.png) 0 0 no-repeat;
}

.content_box .bb {
	position: absolute;
	z-index: 2;
	bottom: 0;
	left: 0;
	height: 331px;
	width: 960px;
	background: url(../images/content_container_bottom.gif) 0 0 no-repeat; /* gif to overlap the background shadow at the bottom */
}

.content_box .bc {
	position: relative;
	z-index: 10;
	background-color: #fff;
	padding-bottom: 20px;
}

/*-------------------------------------------------------------------
CONTENT BOXES
-------------------------------------------------------------------*/
/* WITHOUT JS */
div.box {
	margin-top: 20px;
	padding: 15px;
	background: #fcfc99;
}

/* STANDARD BOX WITH JS */
.has_js div.box {
	position:relative;
	margin-top: 34px;
	padding: 0;
	background: none;
}

.has_js div.box .bt,
.has_js div.box .bb {
	position: relative;
	width: 580px;
}

.has_js div.box .bt {
	position: absolute;
	top: -24px;
	height: 24px;
	background: url(../images/box_top.jpg) 0 0 no-repeat;
}

.has_js div.box .bb {
	height: 27px;
	background: url(../images/box_bottom.jpg) 0 0 no-repeat;
}

.has_js div.box .bc {
	background: url(../images/box_shadow.gif) 0 0 repeat-y;
	padding: 0 4px;
}

.has_js div.box .bcc {
	padding: 0 11px;
	background: #fcfc99 url(../images/box_content_bg.gif) left bottom repeat-x; /* for non-css3 browsers */
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fcfc99', endColorstr='#f8e359'); /* for IE */
	background: -webkit-gradient(linear, left top, left bottom, from(#fcfc99), to(#f8e359)); /* for webkit browsers */
	background: -moz-linear-gradient(top,  #fcfc99,  #f8e359); /* for firefox 3.6+ */
}

/* STANDARD SIDECOL BOX WITH JS */
.has_js #sidecol div.box .bt,
.has_js #sidecol div.box .bb {
	width: 280px;
}

.has_js #sidecol div.box .bt {
	background-image: url(../images/box_sidecol_top.jpg);
}

.has_js #sidecol div.box .bb {
	height: 27px;
	background-image: url(../images/box_sidecol_bottom.jpg);
}

.has_js #sidecol div.box .bc {
	background-image: url(../images/box_sidecol_shadow.gif);
}


/* SUBTLE BOX */
div.box.subtle {
	background: #f9f9f9;
}

.has_js div.box.subtle .bt {
	background-image: url(../images/box_subtle_top.jpg);
}

.has_js div.box.subtle .bb {
	background-image: url(../images/box_subtle_bottom.jpg);
}

.has_js div.box.subtle .bcc {
	background: #f9f9f9 url(../images/box_subtle_content_bg.gif) left bottom repeat-x; /* for non-css3 browsers */
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f9f9f9', endColorstr='#ededee'); /* for IE */
	background: -webkit-gradient(linear, left top, left bottom, from(#f9f9f9), to(#ededee)); /* for webkit browsers */
	background: -moz-linear-gradient(top,  #f9f9f9,  #ededee); /* for firefox 3.6+ */
}

/* SUBTLE BOX IN SIDECOL */
.has_js #sidecol div.box.subtle .bt {
	background-image: url(../images/box_subtle_sidecol_top.jpg);
}

.has_js #sidecol div.box.subtle .bb {
	background-image: url(../images/box_subtle_sidecol_bottom.jpg);
}


/*-------------------------------------------------------------------
CONTENT GRID
-------------------------------------------------------------------*/

.grid_1,
.grid_2,
.grid_3,
.grid_4,
.grid_5,
.grid_6,
.grid_7,
.grid_8,
.grid_9,
.grid_10,
.grid_11,
.grid_12 {
	margin: 10px;
	float: left;
	display: inline; /* to prevent IE Doubled Margin Bug */
}

.pull_left {
	margin-left: 0;
}

.pull_right {
	margin-right: 0;	
}

.grid_1 {
	width: 55px;
}

.grid_2 {
	width: 130px;
}

.grid_3 {
	width: 205px;
}

.grid_4 {
	width: 280px;
}

.grid_5 {
	width: 355px;
}

.grid_6 {
	width: 430px;
}

.grid_7 {
	width: 505px;
}

.grid_8 {
	width: 580px;
}

.grid_9 {
	width: 655px;
}

.grid_10 {
	width: 730px;
}

.grid_11 {
	width: 805px;
}

.grid_12 {
	width: 900px;
}


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

GLOBAL CLASSES AND DEFINITIONS

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

.kein_abstand,
div.box + *:first-child,
.has_js div.box .bcc  + *:first-child{
	margin-top: 0 !important;
}

/* format for cms class "kein_abstand" that is generated as <span> inside of html element
 * e.g. <h2><span class="kein_abstand">Überschrift</span></h2>
 */
span.kein_abstand {
	display: block;
}

h2 .kein_abstand {
	margin-top: -30px !important;
}

h3 .kein_abstand {
	margin-top: -22px !important;
}

h4 .kein_abstand,
.teaser h2 .kein_abstand,
#sidecol h2 .kein_abstand,
#sidecol h3 .kein_abstand,
#sidecol h4 .kein_abstand,
p .kein_abstand,
ol .kein_abstand,
ul .kein_abstand,
dl .kein_abstand,
form .kein_abstand {
	margin-top: -20px !important;
}

ul .kein_abstand,
ol .kein_abstand {
	margin-top: -18px !important;
}

#sidecol p .kein_abstand,
#sidecol o .kein_abstandl,
#sidecol ul .kein_abstand,
#sidecol dl .kein_abstand {
	margin-top: -17px !important;
}

#footer h2 .kein_abstand,
#footer h3 .kein_abstand,
#footer h4 .kein_abstand,
#footer p .kein_abstand,
#footer ol .kein_abstand,
#footer ul .kein_abstand,
#footer dl .kein_abstand {
	margin-top: -16px !important;
}


.clearfix:after,
dl dd:after,
#Form_CalendarFilterForm .field:after {
	content: "."; 
    display: block; 
    height: 0;
	line-height: 0;
    clear: both; 
    visibility: hidden;
}

/* class to hide html elements from screen, but leave them readable for screenreaders */
.invisible {
	position: absolute;
	left: -9000px;
	top: auto;
	width: 0px;
	height: 0px;
	overflow: hidden;
	display: inline;
	background-image: none;
}  

div.hr {
	margin: 20px 0;
	border-bottom: 1px solid #f4f4f4;
}

.box div.hr {
	height: 2px;
	background: url(../images/hr_box.gif) 0 0 repeat-x;
	border-bottom: none;
}

div.hr hr {
	display: none;
}


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

TYPOGRAPHY

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

h1, h2, h3, h4, h5, h6 {
	font-family: Georgia, "Times New Roman", Times, serif;
	color: #8d0007;
	font-weight: normal;
}

h2 {
	font-size: 26px;
	line-height: 30px;
	margin-top: 30px;
}

h3 {
	font-size: 20px;
	line-height: 23px;
	margin-top: 22px;
}

h4,
.teaser h2,
#sidecol h2 {
	font-size: 16px;
	line-height: 18px;
	margin-top: 20px;
}

#sidecol h3,
#sidecol h4 {
	font-size: 14px;
	line-height: 16px;
	margin-top: 20px;
}

/* font-family and font-size */
p,
ol,
ul,
dl,
th,
td,
textarea,
label {
	font-family: "Lucida Grande", "Lucida Sans Unicode", Arial, Verdana, sans-serif;
	font-size: 13px;
}

/* margins and line-height */
p,
ol,
ul,
dl,
form {
	margin-top: 20px;
	line-height: 20px;
}

.intro p,
.intro ol,
.intro ul,
.intro dl {
	font-size: 14px;
}

#sidecol p,
#sidecol ol,
#sidecol ul,
#sidecol dl {
	font-size: 12px;
	margin-top: 17px;
	line-height: 17px;
}

#sidecol h2,
#sidecol h3,
#sidecol h4,
#sidecol p,
#sidecol ol,
#sidecol ul,
#sidecol dl {
	margin-left: 15px;
	margin-right: 15px;
}

#sidecol .box h2,
#sidecol .box h3,
#sidecol .box h4,
#sidecol .box p,
#sidecol .box ol,
#sidecol .box ul,
#sidecol .box dl {
	margin-left: 0;
	margin-right: 0;
}

#footer h2,
#footer h3,
#footer h4,
#footer p,
#footer ol,
#footer ul,
#footer dl {
	font-family: "Lucida Grande", "Lucida Sans Unicode", Arial, Verdana, sans-serif;
	color: #ec959e;
	font-size: 12px;
	margin-top: 16px;
	line-height: 16px;
}

strong {
	font-weight: bold;
}

em {
	font-style: italic;
}

/* margins */
ul,
ol {
	margin-top: 18px;
}

ul ul, ul ol, ul dl,
ol ol, ol ul, ol dl,
dl ul, dl ol {
	font-size: 100%;
}

ul li,
ol li {
	margin-top: 5px;
}

ul li {
	list-style-type: none;
	margin-left: 10px;
	padding-left: 15px;
	background: url(../images/list_arrow.gif) 0 5px no-repeat;
}

.box ul li {
	background: url(../images/list_arrow_box.gif) 0 4px no-repeat;
}

ol li {
	list-style-type: decimal;
	margin-left: 25px;
}

ul.unstyled li,
ol.unstyled li {
	list-style: none;
	background: none;
	margin-left: 0;
	padding-left: 0;
}

dl {
	margin-bottom: -5px;	
}

dl dt {
	width: 100px;
	float: left;
	font-weight: bold;
	clear: left;
}

dl dd {
	margin-left: 110px;
}

dl dt,
dl dd {
	margin-bottom: 5px;
}




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

TYPOGRAPHIC CLASSES

-------------------------------------------------------------------*/
.adr_float {
	float: left;
	width: 55px;
}

.adr_float.long {
	width: 90px;
}

.bildunterschrift {
	margin-top: 0;
	font-size: 12px;
	color: #b6b4b4;
	font-style: italic;
}

span.bildunterschrift {
	display: block;
	margin-top: -20px;	
}

.system_msg {
	display: block;
	margin: 15px 0;
	padding: 5px 10px;
	border: 2px solid #f8bf05;
	background-color: #fdda69;
	color: #f8bf05;
}

.system_msg.error {
	border-color: #b11717;
	background-color: #ffdfe0;
	color: #b11717;	
}

.system_msg.success {
	border-color: #137f00;
	background-color: #d6ffcf;
	color: #137f00;	
}


/* Overlays for Popup Images */
a.popup span.popup_overlay {
	display: block;
	width: 35px;
	height: 35px;
	position: absolute;
	bottom: 0;
	left: 0;
	text-indent: -9999px;
	background: url(../images/popup_image.png) 0 0 no-repeat;
}

a.popup:hover span.popup_overlay {
	background-color: #e3000b;
}

/*-------------------------------------------------------------------
EVENTS TEASER LIST
-------------------------------------------------------------------*/
ul#events_teaser,
ul#events_upcoming {
	margin: 0;
}

ul#events_teaser li {
	list-style: none;
	background: none;
	margin-left: 0;
	padding-left: 0;
	margin-top: 15px;
	padding-top: 17px;
	background: url(../images/hr_box.gif) 0 0 repeat-x;
}

ul#events_teaser li:first-child,
ul#events_teaser li.first-child {
	padding-top: 0;
	background: none;
}

ul#events_teaser h3,
ul#events_teaser p {
	margin-top: 0;	
	line-height: 15px;
	font-family: "Lucida Grande", "Lucida Sans Unicode", Arial, Verdana, sans-serif;
}

ul#events_teaser p.dates {
	font-size: 10px;
	color: #c07100;
}

ul#events_teaser p.location,
#event_detail p.location {
	font-size: 9px;
	color: #d29947;
	text-transform: uppercase;
}

ul#events_teaser h3 {
	font-size: 12px;
}

ul#events_teaser h3 a,
ul#events_upcoming h3 a {
	text-decoration: none;	
}

/*-------------------------------------------------------------------
UPCOMING EVENTS
-------------------------------------------------------------------*/
ul#events_upcoming li {
	list-style: none;
	background: none;
	margin-left: 0;
	padding-left: 0;
	margin-top: 0;
}

ul#events_upcoming h3,
ul#events_upcoming p.dates,
ul#events_upcoming p.location {
	margin-top: 0;
}

ul#events_upcoming p.dates,
#event_detail p.dates {
	color: #8d0007;
}

ul#events_upcoming p.location,
#event_detail p.location {
	color: #474646;
	font-size: 11px;
	text-transform: uppercase;
}

/*-------------------------------------------------------------------
EVENT DETAILS
-------------------------------------------------------------------*/
#event_detail p.dates {
	margin-top: 0;
}

#event_detail p.location,
#event_detail h2.summary {
	margin-top: 3px;	
}

#event_detail p.dates {
	font-size: 13px;
}

#event_detail p.location {
	color: #b6b4b5;
}


/*-------------------------------------------------------------------
BREADCRUMBS
-------------------------------------------------------------------*/
p#breadcrumbs {
	width: 880px;
	margin: -10px 0 10px -10px;
	padding: 0 20px;
	height: 40px;
	line-height: 40px;
	background-color: #f4f4f4;
	color: #5b5b5b;
	font-size: 12px;
}

p#breadcrumbs * {
	float: left;
}

p#breadcrumbs a,
p#breadcrumbs strong {
	line-height: 12px;
	margin-top: 14px;
}

p#breadcrumbs span {
	display: block;
	margin: 16px 8px 0 8px;
	overflow: hidden;
	background: url(../images/breadcrumbs_divider.gif) 0 0 no-repeat;
	width: 5px;
	height: 10px;
	text-indent: -9999px;
	font-size: 1px;
	color: #f4f4f4;
}

p#breadcrumbs a,
p#breadcrumbs a:link,
p#breadcrumbs a:visited {
	text-decoration: none;
	color: #b6b4b4;
}

p#breadcrumbs a:hover,
p#breadcrumbs a:active,
p#breadcrumbs a:focus {
	color: #e3000b;
}

p#breadcrumbs a.home,
p#breadcrumbs a.home:link,
p#breadcrumbs a.home:visited {
	display: block;
	margin-top: 14px;
	overflow: hidden;
	margin-right: 2px;
	background: url(../images/breadcrumbs_button_home.gif) 0 0 no-repeat;
	width: 13px;
	height: 14px;
	text-indent: -9999px;
}

p#breadcrumbs a.home:hover,
p#breadcrumbs a.home:active,
p#breadcrumbs a.home:focus {
	background-position: 0 -14px;
}


/*-------------------------------------------------------------------
SEARCHRESULTS
-------------------------------------------------------------------*/
#SearchResults p,
p#SearchResultsPageInfo {
	margin-top: 0;
	font-size: 12px;
}

#SearchResults p.NestedTitle,
p#SearchResultsPageInfo {
	color: #C4C4C4;
}

p#SearchResultsPageInfo strong {
	color: #aaa;
}

p#PageNumbers {
	margin: 25px 0 0 -10px;
}

#PageNumbers a,
#PageNumbers a:link,
#PageNumbers a:visited,
#PageNumbers span {
	display: block;
	float: left;
	margin: 0 0 10px 10px;
	padding: 3px 9px;
	background-color: #e3000b;
	color: #fff;
	text-decoration: none;
}

#PageNumbers a:hover,
#PageNumbers a:active,
#PageNumbers a:focus {
	background-color: #ed5960;
}

#PageNumbers span {
	border: 1px solid #e3000b;
	padding: 2px 8px;
	background-color: #fff;
	color: #e3000b;
	font-weight: bold;
}


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

IMAGES

-------------------------------------------------------------------*/
img {
	line-height: 0;
	color: #000;	/* set color so that it has enaough contrast to background-color */
}

img.right,
img.left {
	margin-top: 20px;
	margin-bottom: 20px;
}

p img.right,
p img.left {
	margin-top: 5px;
}

img.right {
	float: right;
	margin-left: 20px;
}

img.left {
	float: left;
	margin-right: 20px;
}


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

LINKS

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

a,
a:link,
a:visited {
	text-decoration: underline;
	color: #e3000b;
}

a:hover, 
a:active,
a:focus {
	text-decoration: none;
	color: #ed5960;
}

/* FOOTER */
#footer a,
#footer a:link,
#footer a:visited {
	text-decoration: none;
	color: #ec959e;
}

#footer a:hover, 
#footer a:active,
#footer a:focus {
	color: #fff;
}

/* BUTTON */
a.button,
a.button:link,
a.button:visited,
a.ics_link,
a.ics_link:link,
a.ics_link:visited,
.type-button input,
.type-button button,
#Form_CalendarFilterForm_action_doCalendarFilter,
input.action {
	text-decoration: none;
	display: block;
	height: 35px;
	line-height: 35px;
	padding: 0 40px 0 10px;
	border: none;
	background: #fbfb9f url(../images/button.gif) right top no-repeat;
	font-family: Georgia, "Times New Roman", Times, serif;
	font-size: 14px;
	text-align: left;
	color: #8d0007;
	text-shadow: 0 1px 0 #f9eb53;
	/*filter: dropshadow(color=#f9eb53,offX=0,offY=1);*/ /* leads to horribly distorted fonts when antialiasing is turned off */
	-webkit-box-shadow: 0 0 5px rgba(0, 0, 0, .1);
	-moz-box-shadow: 0 0 5px rgba(0, 0, 0, .1);
	box-shadow: 0 0 5px rgba(0, 0, 0, .1);
	cursor: pointer;
}

a.button:hover,
a.button:active,
a.button:focus,
a.ics_link:hover,
a.ics_link:active,
a.ics_link:focus,
.type-button input:hover,
.type-button input:active,
.type-button button:hover,
.type-button button:active,
input.action:hover {
	background-position: right -35px;
	color: #a70b14;
	outline: none;
}

/* Extended Styles for buttons */
a.ics_link,
a.ics_link:link,
a.ics_link:visited {
	padding: 0 10px 0 40px;
	background-image: url(../images/button_add.gif);
	background-position: 0 -35px;
}

a.ics_link:hover,
a.ics_link:active,
a.ics_link:focus {
	background-position: 0 0;
}

input.action,
#Form_CalendarFilterForm_action_doCalendarFilter {
	width: 100%;
}

.box input.action,
#Form_CalendarFilterForm_action_doCalendarFilter {
	background-position: right -35px;
}

.box input.action:hover,
#Form_CalendarFilterForm_action_doCalendarFilter:hover {
	background-position: right 0;
}

a img {
	border: none;
}

/* POPUP */
a.popup,
a.popup:link,
a.popup:visited {
	position: relative;
	text-decoration: none;
}

a.popup:hover, 
a.popup:active,
a.popup:focus {
}

a.popup.image {
	display: inline-block;
	line-height: 0;
}

/* link to external website that is opened in a new window */
a.external_link {
}


/*-------------------------------------------------------------------
SKIP LINKS
-------------------------------------------------------------------*/
#skipnav {
	margin-top: 0;
	padding: 0;
	line-height: 0;
}

#skipnav li {
	margin-top: 0;
	margin-left: 0;
	padding-left:0;
	background: none;
	line-height: 0;
}

/* take links out of document flow through absolute positioning
   hide links by positioning them outside of the visible screen area */
#skipnav a {
	position: absolute; 
	z-index: 2; 
	overflow: hidden; 
	left: -9999px;
	padding: 0;
	margin: 0;
	height: 0;
	line-height: 0;
} 

/* show links when focused or active, by positioning them inside visible screen area */
#skipnav a:focus, 
#skipnav a:active {
	z-index: 99;
	display: block;
	width: 100%;
	height: 30px;
	line-height: 30px;
	top: 0;
	left: 0;
	background: #ffff00 url(../images/nav_bg.gif) 0 0 repeat-x;
	font-size: 12px;
	color: #8d0007;
	text-align: center;
}


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

FORMS 

-------------------------------------------------------------------*/
form {
	
}

fieldset {
	border: solid 0 #fff;
}

fieldset legend {
	display: none;
}

label {
	display: block;
	width: 100%;
	clear: left;
	color: #8D0007;
}

.checkbox label {
	display: inline;
}

.field {
	margin-top: 10px;
}

.Actions {
	margin-top: 20px;
}

input,
textarea,
select {
	font-family: "Lucida Grande", "Lucida Sans Unicode", Arial, Verdana, sans-serif;
	font-size: 100%;	
	font-size: 13px;
	outline: none;
}

input.text,
textarea {
	width: 268px;
	margin: 0;
	padding: 5px;
	color: #474646;
	background: #fff url(../images/input_text_bg.gif) 0 0 repeat-x;
	border: 1px solid #e6e4e4;
}

input.text:focus,
textarea:focus {
	border-color: #e3000b;	
}

input.text.short {
	width: 100px !important;	
}

form .error label,
form .error h3 {
	color: #b11717;
}

form .error input.text,
form .error textarea {
	border-color: #b11717;
	background-color: #ffdfe0;
	color: #b11717;
}

#MemberLoginForm_LoginForm_action_dologin {
	width: 280px;
}

/* SEARCH FORM */
form#SearchForm_SearchForm {
	margin: 8px 10px 0 40px;
	position: relative;
}

form#SearchForm_SearchForm #Search {
	margin-top: 0;
}

form#SearchForm_SearchForm .text input {
	width: 208px;
	height: 18px;
	line-height: 18px;
	border-color: #f7f19a;
	font-size: 12px;
	color: #c4c4c4;
}

form#SearchForm_SearchForm .text input:focus {
	color: #474646;
}

form#SearchForm_SearchForm input.action {
	display: block;
	width: 36px;
	height: 30px;
	position: absolute;
	margin: 0;
	padding: 0;
	border: 0;
	right: 0;
	top: 0;
	background: #fff url(../images/input_search_icon_white.gif) 0 0 no-repeat;
	text-indent: -9999px;
	cursor: pointer;
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;
}


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

NAVIGATION

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

#nav {
	margin: 0;
	height: 45px;
	background: #ffff00 url(../images/nav_bg.gif) 0 0 repeat-x;
}

#nav li {
	position: relative;
	float: left;
	margin-top: 0;
}

#nav li.current > a,
#nav li.current > a:link,
#nav li.current > a:visited,
#nav li.current > a:hover,
#nav li.current > a:active,
#nav li.current > a:focus,
#nav li.section > a,
#nav li.section > a:link,
#nav li.section > a:visited,
#nav li.section > a:hover,
#nav li.section > a:active,
#nav li.section > a:focus {
	z-index: 3;
	padding-right: 17px;
	margin-right: -2px;
	background: #cd030d url(../images/nav_bg.gif) 0 -90px repeat-x;
	color: #fff;
	text-shadow: 0 -1px 0 #b0010b;
	/*filter: dropshadow(color=#b0010b,offX=0,offY=-1);*/ /* leads to horribly distorted fonts when antialiasing is turned off */
}

#nav li a,
#nav li a:link,
#nav li a:visited {
	z-index: 1;
	position: relative;
	display: block;
	height: 45px;
	line-height: 45px;
	padding-left: 17px;
	padding-right: 15px;
	background: url(../images/nav_divder.gif) 0 0 no-repeat;	
	text-decoration: none;
	font-family: Georgia, "Times New Roman", Times, serif;
	font-size: 17px;
	color: #8d0007;
	text-shadow: 0 1px 0 #f9eb53;
	/*filter: dropshadow(color=#f9eb53,offX=0,offY=1);*/ /* leads to horribly distorted fonts when antialiasing is turned off */
}

#nav li a:hover,
#nav li a:active,
#nav li a:focus,
#nav li.current a:hover,
#nav li.current a:active,
#nav li.current a:focus,
#nav li.section a:hover,
#nav li.section a:active,
#nav li.section a:focus,
#nav li:hover > a,
#nav li.current:hover > a,
#nav li.section:hover > a {
	z-index: 2;
	padding-right: 17px;
	margin-right: -2px;
	background: #fff url(../images/nav_bg.gif) 0 -45px repeat-x;
	color: #a70b14;
	text-shadow: 0 -1px 0 #ddd;
	/*filter: dropshadow(color=#dddddd,offX=0,offY=-1);*/ /* leads to horribly distorted fonts when antialiasing is turned off */
}

/* HOME BUTTON */
#nav li.home.current a,
#nav li.home.current a:link,
#nav li.home.current a:visited,
#nav li.home.current a:hover,
#nav li.home.current a:active,
#nav li.home.current a:focus  {
	padding-right: 2px;
	margin-right: -2px;
	background-position: 0 -90px;	
}

#nav li.home a,
#nav li.home a:link,
#nav li.home a:visited {
	width: 60px;
	padding-left: 0;
	padding-right: 0;
	margin-right: 0;
	text-indent: -9999px;
	background: url(../images/nav_button_home.gif) 0 0 no-repeat;
}

#nav li.home a:hover,
#nav li.home a:active,
#nav li.home a:focus,
#nav li.home.current a:hover,
#nav li.home.current a:active,
#nav li.home.current a:focus {
	padding-right: 2px;
	margin-right: -2px;
	background-position: 0 -45px;
}

#nav li:first-child a {
	background: none;
	padding-left: 15px;
}

/* 2. Ebene */
#nav ul {
	visibility: hidden;
	position: absolute;
	height: auto;
	width: 280px;
	margin: 0;
	padding: 0;
	top: 45px;
	left: 0;
	border: 1px solid #ccc;
	border-top: none;
	background-color: #fff;
	-webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, .5);
	-moz-box-shadow: 0 1px 4px rgba(0, 0, 0, .5);
	box-shadow: 0 1px 4px rgba(0, 0, 0, .5);
}

#nav ul * {
	border: none;
}

#nav li:hover ul,
#nav a:hover ul {
	visibility: visible;
}

#nav ul li {
	float: none;
}

#nav ul li.first-child {
	margin-top: 10px;	
}

#nav ul li.last-child {
	margin-bottom: 15px;	
}

#nav ul li.current a,
#nav ul li.current a:link,
#nav ul li.current a:visited,
#nav ul li.current a:hover,
#nav ul li.current a:active,
#nav ul li.current a:focus,
#nav ul li.section a,
#nav ul li.section a:link,
#nav ul li.section a:visited,
#nav ul li.section a:hover,
#nav ul li.section a:active,
#nav ul li.section a:focus {
	padding-right: 15px;
	margin-right: 0;
}

#nav ul li:hover > a,
#nav ul li.current:hover > a,
#nav li.section ul li.current a:hover,
#nav li.section ul li.current a:active,
#nav li.section ul li.current a:focus {
	padding-right: 15px;
	margin-right: 0;
	background: #cd030d url(../images/nav_sub_bg_hover.gif) 0 0 repeat-x;
	color: #fff;
	text-shadow: 0 -1px 0 #b0010b;
	/*filter: dropshadow(color=#b0010b,offX=0,offY=-1);*/ /* leads to horribly distorted fonts when antialiasing is turned off */
}

#nav ul li a,
#nav ul li a:link,
#nav ul li a:visited {
	height: auto;
	line-height: 15px;
	padding: 2px 15px 2px 17px;
	background: none;
	font-family: "Lucida Grande", "Lucida Sans Unicode", Arial, Verdana, sans-serif;
	font-size: 12px;
	font-weight: bold;
	color: #a60b13;
	text-shadow: none;
	/*filter: dropshadow(color=#ffffff,offX=0,offY=0);*/ /* leads to horribly distorted fonts when antialiasing is turned off */
}

#nav ul li a:hover,
#nav ul li a:active,
#nav ul li a:focus,
#nav li.section ul li a:hover,
#nav li.section ul li a:active,
#nav li.section ul li a:focus {
	padding-right: 15px;
	margin-right: 0 !important;
	background: #f9f9f9 url(../images/nav_sub_bg.gif) 0 -10px repeat-x;
	color: #a70b14;
	text-shadow: 0 -1px 0 #ddd;
	/*filter: dropshadow(color=#dddddd,offX=0,offY=-1);*/ /* leads to horribly distorted fonts when antialiasing is turned off */
}

/* 3. Ebene */
#nav ul ul {
	position: relative;
	padding: 0;
	top: 0;
	border: none;
	background: none;
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;
}

#nav ul ul li a,
#nav ul ul li a:link,
#nav ul ul li a:visited {
	padding-left: 47px;
	font-weight: normal;
}

/*-------------------------------------------------------------------
DYNAMIC NAV
-------------------------------------------------------------------*/
.has_js #nav ul {
	visibility: visible;
	padding: 0;
	overflow: hidden;
	border: none;
}


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

TABLES

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

table {
	border-collapse: collapse;
}

table th,
table td {
	line-height: 1.2;
}

thead th, thead td {
	
}

tbody th, tbody td {
	
}

thead th,
tbody th {
}

thead th:first-child, thead td:first-child,
tbody th:first-child, tbody td:first-child {
	border-right: none;	
}

tr.odd td {
	background-color: #f1fcfe;
}

tr.even td {
	background-color: #dcf7fb;
}

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

SLIDE

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

#slide #heinergirl,
#slide #heinerboy {
	position: absolute;
	display: block;
	background-position: 0 0;
	background-repeat: no-repeat;
	z-index: 9;
}

#slide #heinergirl {
	width: 50px;
	height: 227px;
	background-image: url(../images/slide_container_heinergirl_overlay.png);
	top: 131px;
	left: 113px;
}

#slide #heinerboy {
	width: 47px;
	height: 164px;
	background-image: url(../images/slide_container_heinerboy_overlay.png);
	top: 144px;
	right: 121px;
}

#slideshow,
#slide ul, 
#slide li,
#slide h3,
#slide h3 a {
		margin:0;
		padding:0;
		list-style: none;
		width: 675px;
		height: 290px;
		overflow: hidden;
}

#slide ul,
#slide li {
	position: relative;
}

#slide h3 {
	display: block;
	height: 48px;
	position: absolute;
	bottom: 0;
	left: 0;
	background: #f4d70d url(../images/slide_bildinfo_bg.gif) 0 0 no-repeat;
	overflow: hidden;
	z-index: 2;
}

#slide h3 a,
#slide h3 a:link,
#slide h3 a:visited,
#slide h3 a:hover,
#slide h3 a:active,
#slide h3 a:focus {
	display: block;
	width: 595px;
	height: 48px;
	padding: 0 80px 0 20px;
	text-decoration: none;
	font-family: Georgia, "Times New Roman", Times, serif;
	font-size: 21px;
	color: #8d0007;
	text-shadow: 0 1px 0 #f9eb53;
	/*filter: dropshadow(color=#f9eb53,offX=0,offY=1);*/ /* leads to horribly distorted fonts when antialiasing is turned off */
}

#slide span {
	display: block;
	float: left;
}

#slide span.gallery_name {
	line-height: 48px;
}

#slide span.divider {
	padding: 0 15px;
	width: 2px;
	height: 48px;
	overflow: hidden;
	text-indent: -9999px;
	background: url(../images/nav_divder.gif) center center no-repeat;
}

#slide span.description {
	margin-top: 16px;
	font-size: 12px;
}


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

IMAGE GALLERY

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

ul#image_gallery {
	margin-left: -10px;
	margin-right: -10px;
}

ul#image_gallery li {
	background-image: none;
	padding: 7px;
	width: 130px;
	float: left;
	height: 100px;
	margin: 3px;
	text-align: center;
	background: url(../images/gallery-image-background-1.gif) 0 0 no-repeat;
}

ul#image_gallery li.even {
	background-image: url(../images/gallery-image-background-2.gif);
}

ul#image_gallery li:hover,
ul#image_gallery li:focus {
	background-position: 0 -115px;
}

ul#image_gallery li a {
	display: block;
	width: 130px;
	height: 100px;
	overflow: hidden;
}


ul#albums li {
	list-style: none;
	background: none;
	margin-left: 0;
	padding-left: 0;
	margin-top: 0;
	padding-top: 15px;
}

ul#albums a.album-cover-image {
	display: block;
	width: 100px;
	height: 100px;
	float: left;
	overflow: hidden;
	margin: 0 15px 0 0;
}


ul#albums div.album-details {
	margin-top: 15px;
	margin-left: 120px;
}

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

FOOTER

-------------------------------------------------------------------*/
#footer_container .center_container {
	padding: 20px 0;
}

#footer {
	background: url(../images/footer_divider.gif) 330px 0 repeat-y;
}

#footer .vcard {
	margin-left: 48px;
	width: 242px; /* 280 - 38 */
}

#footer .vcard .org {
	display: block;
	width: 144px;
	height: 46px;
	position: relative;
	left: -38px;
	overflow: hidden;
	text-indent: -9999px;
	background: url(../images/logo_heimatverein_footer.gif) 0 0 no-repeat;
}

#footer p.impressum {
	margin-top: 30px;
	position: relative;
	left: -38px;
}

ul#sponsors {
	margin: 0;	
}

ul#sponsors li {
	display: block;
	height: 95px;
	line-height: 95px;
	padding: 0;
	background: none;
	float: left;
	margin: 4px 8px 0 0;
	margin-bottom: 0;
}

ul#sponsors li a,
ul#sponsors li img {
	vertical-align: middle;
}


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

LIVE CALENDAR WIDGET

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


#live-calendar-widget {
}

#live-calendar-widget-wrap {
}

/* table globals */
#live-calendar-widget table.calendar {
	border-collapse: separate;
	border-spacing: 4px;
	margin: 0 -4px 0 -4px;
}

#live-calendar-widget .calendar thead th,
#live-calendar-widget .calendar thead td,
#live-calendar-widget .calendar tbody th,
#live-calendar-widget .calendar tbody td {
	line-height: 28px;
	height: 28px;
	width: 28px;
	padding: 0;
	text-align: center;
	vertical-align: middle;
}

/* thead */
#live-calendar-widget .calendar td.calendarMonthName {
	height: 26px;
	line-height: 26px;
	font-family: "Lucida Grande", "Lucida Sans Unicode", Arial, Verdana, sans-serif;
	font-size: 13px;
	background-color: #474646;
	color: #bababa;
}

#live-calendar-widget .calendar tr.calendarHeader a {
	cursor: pointer;
	display: block;
	width: 30px;
	height: 26px;
	background-position: 0 0;
	background-repeat: no-repeat;
	text-indent: -9999px;
}

#live-calendar-widget .calendar tr.calendarHeader a#prev-month {
	float: left;
	background-image: url(../images/calendar_nav-prev-month.gif);
}

#live-calendar-widget .calendar tr.calendarHeader a#next-month {
	float: right;
	background-image: url(../images/calendar_nav-next-month.gif);
}

#live-calendar-widget .calendar thead td {
}

#live-calendar-widget .calendar thead td.calendarMonthName {
}

#live-calendar-widget select#live-calendar-widget-navigator {
	margin: 0 auto;
}

#live-calendar-widget .calendar thead td.calendarDayName {
	font-weight: bold;
	background-color: #474646;
	color: #fff;
}

/* tbody */
#live-calendar-widget .calendar tbody {
}

#live-calendar-widget .calendar tbody td {
	font-size: 12px;
	background-color: #fff;
	color: #2b2a2a;
}

#live-calendar-widget .calendar tbody td a,
#live-calendar-widget .calendar tbody td a:link,
#live-calendar-widget .calendar tbody td a:visited {
	display: block;
	line-height: 28px;
	height: 28px;
	width: 28px;
	padding: 0;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	background-color: #fff;
	color: #2b2a2a;
}

#live-calendar-widget .calendar tbody td.calendarOutOfMonth a,
#live-calendar-widget .calendar tbody td.calendarOutOfMonth a:link,
#live-calendar-widget .calendar tbody td.calendarOutOfMonth a:visited { 
	background-color: #ededee;
	color: #b6b4b4;
}

#live-calendar-widget .calendar tbody td.showWeek a {
	display: block;
	overflow: hidden;
	text-indent: -9999px;
	background: #fff url(../images/calendar_weekbutton.gif) center 0 no-repeat;
}

#live-calendar-widget .calendar tbody td.showWeek a:hover {
	background-position: center -28px;
	background-color: #fff;
}

#live-calendar-widget .calendar tbody td.calendarToday a,
#live-calendar-widget .calendar tbody td.calendarToday a:link,
#live-calendar-widget .calendar tbody td.calendarToday a:visited {
	background-color: #fde7e8;
	color: #B9030C;
}

#live-calendar-widget .calendar tbody td.hasEvent a,
#live-calendar-widget .calendar tbody td.hasEvent a:link,
#live-calendar-widget .calendar tbody td.hasEvent a:visited {
	font-weight: bold;
	color: #B9030C;
}

#live-calendar-widget .calendar tbody td.currentDay a,
#live-calendar-widget .calendar tbody td.currentDay a:link,
#live-calendar-widget .calendar tbody td.currentDay a:visited {
	background-color: #B9030C;
	color: #fff;
}

#live-calendar-widget .calendar tbody td a:hover,
#live-calendar-widget .calendar tbody td.calendarToday a:hover,
#live-calendar-widget .calendar tbody td.currentDay a:hover {
	background-color: #dfdfdf;
}

#live-calendar-widget .calendar tbody td.hasEvent a:hover,
#live-calendar-widget .calendar tbody td.currentDay a:hover {
	background-color: #ff0713;
	color: #fff;
}

#live-calendar-widget tfoot td {
	padding-top: 15px;
}



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

CALENDAR WIDGET

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

#calendar-widget {
	position: relative;
}

#monthNav form {
	margin-top: 10px;
}

#calendar-widget img {
	position: absolute;
	top: 50%;
	left: 50%;
	margin: -16px 0 0 -16px;
}

div.dp-popup {
	color: #333;
}

#calendar-widget div.dp-popup h2 {
	display: block;
	margin-top: 0;
	height: 26px;
	line-height: 26px;
	font-family: "Lucida Grande", "Lucida Sans Unicode", Arial, Verdana, sans-serif;
	font-size: 13px;
	background-color: #474646;
	color: #bababa;
	text-align: center;
}

div.dp-popup a {
	color: #000;
}

div.dp-popup a.disabled {
	color: #aaa;
}


/* Calendar Table */
table.jCalendar {
	border-collapse: separate;
	border-spacing: 4px;
	margin: 0 -4px 0 -4px;
}

table.jCalendar th,
table.jCalendar td {
	line-height: 28px;
	height: 28px;
	width: 28px;
	padding: 0;
	text-align: center;
	vertical-align: middle;
}

table.jCalendar th {
	font-weight: bold;
	background-color: #474646;
	color: #fff;
}

table.jCalendar td {
	font-size: 12px;
	background-color: #fff;
	color: #2b2a2a;
}

table.jCalendar td.other-month,
table.jCalendar td.disabled, 
table.jCalendar td.disabled:hover {
	background-color: #ededee;
	color: #b6b4b4;
}

table.jCalendar td.weekend {
	background-color: #fde7e8;
	color: #333;
}

table.jCalendar td.hasEvent {
	background-color: #ec959a;	
}

table.jCalendar td.weekbutton {
	display: block;
	overflow: hidden;
	text-indent: -9999px;
	background: #fff url(../images/calendar_weekbutton.gif) center 0 no-repeat;
}

table.jCalendar td.weekbutton:hover,
table.jCalendar td.weekbutton.selected:hover{
	background-position: center -28px;
	background-color: #fff;
}

table.jCalendar td.today {
	font-weight: bold;
	background-color: #B9030C;
	color: #fff;
}

table.jCalendar td.selected {
	background-color: #e3000c;
	color: #fff;
}

table.jCalendar td:hover, 
table.jCalendar td.dp-hover,
table.jCalendar td.selected:hover {
	background-color: #ff0713;
	color: #fff;
}

/* Navigation Links */
a.dp-nav-prev-year,
a.dp-nav-next-year {
	display:none;
}

div.dp-popup div.dp-nav-prev a {
	float: left;
}

div.dp-popup div.dp-nav-next a {
	float: right;
}

div.dp-popup div.dp-nav-prev {
	position: absolute;
	top: -26px;
	left: 4px;
	width: 30px;
}

div.dp-popup div.dp-nav-next {
	position: absolute;
	top: -26px;
	right: 4px;
	width: 30px;
}

div.dp-popup div.dp-nav-prev a, 
div.dp-popup div.dp-nav-next a {
	cursor: pointer;
	display: block;
	width: 30px;
	height: 26px;
	background-position: 0 0;
	background-repeat: no-repeat;
	text-indent: -9999px;
}

div.dp-popup a.dp-nav-prev-month{
	background-image: url(../images/calendar_nav-prev-month.gif);
}

div.dp-popup a.dp-nav-next-month {
	background-image: url(../images/calendar_nav-next-month.gif);
}

div.dp-popup div.dp-nav-prev a:hover, 
div.dp-popup div.dp-nav-next a:hover {
	background-position: 0 -26px;
}

div.dp-popup a.disabled,
div.dp-popup td.disabled,
div.dp-popup div.dp-nav-prev a.disabled, 
div.dp-popup div.dp-nav-next a.disabled {
	cursor: default;
}

div.dp-popup td {
	cursor: pointer;
}


/* For the popup */
/* NOTE - you will probably want to style a.dp-choose-date - see how I did it in demo.css */
div.dp-popup {
	position: relative;
	font-size: 11px;
	padding: 0;
}
div#dp-popup {
	position: absolute;
	z-index: 199;
}
a#dp-close {
	font-size: 11px;
	padding: 4px 0;
	text-align: center;
	display: block;
}
a#dp-close:hover {
	text-decoration: underline;
}

/* FILTER */
#Form_CalendarFilterForm label,
p#Form_CalendarFilterForm_error {
	margin-top: 0;
	font-size: 12px;
	color: #2b2a2a;
}

#Form_CalendarFilterForm select {
	float: left;
	margin-right: 5px;
}

#Form_CalendarFilterForm .field {
	margin-top: 10px;
}

#Form_CalendarFilterForm legend + .field {
	margin-top: 0;
}

#Form_CalendarFilterForm .Actions {
	margin-top: 20px;
}

/* max width for category dropdown */
#Form_CalendarFilterForm_filter-KalenderVeranstaltung_Category {
	width: 250px;
}



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

FANCYBOX

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

/*
 * FancyBox - jQuery Plugin
 * Simple and fancy lightbox alternative
 *
 * Examples and documentation at: http://fancybox.net
 * 
 * Copyright (c) 2008 - 2010 Janis Skarnelis
 *
 * Version: 1.3.1 (05/03/2010)
 * Requires: jQuery v1.3+
 *
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 */

#fancybox-loading {
	position: fixed;
	top: 50%;
	left: 50%;
	height: 40px;
	width: 40px;
	margin-top: -20px;
	margin-left: -20px;
	cursor: pointer;
	overflow: hidden;
	z-index: 1104;
	display: none;
}

#fancybox-loading div {
	position: absolute;
	top: 0;
	left: 0;
	width: 40px;
	height: 480px;
	background-image: url('../images/fancybox/fancybox.png');
}

#fancybox-overlay {
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	background: #000;
	z-index: 1100;
	display: none;
}

#fancybox-tmp {
	padding: 0;
	margin: 0;
	border: 0;
	overflow: auto;
	display: none;
}

#fancybox-wrap {
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	padding: 20px;
	z-index: 1101;
	display: none;
}

#fancybox-outer {
	position: relative;
	width: 100%;
	height: 100%;
	background: #FFF;
}

#fancybox-inner {
	position: absolute;
	top: 0;
	left: 0;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: 0;
	outline: none;
	overflow: hidden;
}

#fancybox-hide-sel-frame {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: transparent;
}

#fancybox-close {
	position: absolute;
	top: -15px;
	right: -15px;
	width: 30px;
	height: 30px;
	background-image: url('../images/fancybox/fancy_close.png');
	background-position: -30px 0;
	cursor: pointer;
	z-index: 1103;
	display: none;
}

#fancybox_error {
	color: #444;
	font: normal 12px/20px Arial;
	padding: 7px;
	margin: 0;
}

#fancybox-content {
	height: auto;
	width: auto;
	padding: 0;
	margin: 0;
}

#fancybox-img {
	width: 100%;
	height: 100%;
	padding: 0;
	margin: 0;
	border: none;
	outline: none;
	line-height: 0;
	vertical-align: top;
	-ms-interpolation-mode: bicubic;
}

#fancybox-frame {
	position: relative;
	width: 100%;
	height: 100%;
	border: none;
	display: block;
}

#fancybox-title {
	position: absolute;
	bottom: 0;
	left: 0;
	font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
	font-size: 13px;
	z-index: 1102;
}

.fancybox-title-inside {
	padding: 10px 0;
	text-align: center;
	color: #333;
}

.fancybox-title-outside {
	padding-top: 5px;
	color: #FFF;
	text-align: center;
	font-weight: bold;
}

.fancybox-title-over {
	color: #FFF;
	text-align: left;
}

#fancybox-title-over {
	padding: 10px;
	background-image: url('../images/fancybox/fancy_title_over.png');
	display: block;
}

#fancybox-title-wrap {
	display: inline-block;
}

#fancybox-title-wrap span {
	height: 32px;
	float: left;
}

#fancybox-title-left {
	padding-left: 15px;
	background-image: url('../images/fancybox/fancybox.png');
	background-position: -40px -90px;
	background-repeat: no-repeat;
}

#fancybox-title-main {
	font-weight: bold;
	line-height: 29px;
	background-image: url('../images/fancybox/fancybox-x.png');
	background-position: 0px -40px;
	color: #FFF;
}

#fancybox-title-right {
	padding-left: 15px;
	background-image: url('../images/fancybox/fancybox.png');
	background-position: -55px -90px;
	background-repeat: no-repeat;
}

#fancybox-left, #fancybox-right {
	position: absolute;
	bottom: 0px;
	height: 100%;
	width: 35%;
	cursor: pointer;
	outline: none;
	background-image: url('../images/fancybox/blank.gif');
	z-index: 1102;
	display: none;
}

#fancybox-left {
	left: 0px;
}

#fancybox-right {
	right: 0px;
}

#fancybox-left-ico, #fancybox-right-ico {
	position: absolute;
	top: 50%;
	left: -9999px;
	width: 30px;
	height: 30px;
	margin-top: -15px;
	cursor: pointer;
	z-index: 1102;
	display: block;
}

#fancybox-left-ico {
	background-image: url('../images/fancybox/fancybox.png');
	background-position: -40px -30px;
}

#fancybox-right-ico {
	background-image: url('../images/fancybox/fancybox.png');
	background-position: -40px -60px;
}

#fancybox-left:hover span {
	left: 20px;
}

#fancybox-right:hover span {
	left: auto;
	right: 20px;
}

.fancy-bg {
	position: absolute;
	padding: 0;
	margin: 0;
	border: 0;
	width: 20px;
	height: 20px;
	z-index: 1001;
}

#fancy-bg-n {
	top: -20px;
	left: 0;
	width: 100%;
	background-image: url('../images/fancybox/fancybox-x.png');
}

#fancy-bg-ne {
	top: -20px;
	right: -20px;
	background-image: url('../images/fancybox/fancybox.png');
	background-position: -40px -162px;
}

#fancy-bg-e {
	top: 0;
	right: -20px;
	height: 100%;
	background-image: url('../images/fancybox/fancybox-y.png');
	background-position: -20px 0px;
}

#fancy-bg-se {
	bottom: -20px;
	right: -20px;
	background-image: url('../images/fancybox/fancybox.png');
	background-position: -40px -182px; 
}

#fancy-bg-s {
	bottom: -20px;
	left: 0;
	width: 100%;
	background-image: url('../images/fancybox/fancybox-x.png');
	background-position: 0px -20px;
}

#fancy-bg-sw {
	bottom: -20px;
	left: -20px;
	background-image: url('../images/fancybox/fancybox.png');
	background-position: -40px -142px;
}

#fancy-bg-w {
	top: 0;
	left: -20px;
	height: 100%;
	background-image: url('../images/fancybox/fancybox-y.png');
}

#fancy-bg-nw {
	top: -20px;
	left: -20px;
	background-image: url('../images/fancybox/fancybox.png');
	background-position: -40px -122px;
}

}


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

PRINT STYLES

-------------------------------------------------------------------*/
@media print {


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

HIDDEN ELEMENTS THAT AREN´T PRINTED

-------------------------------------------------------------------*/
#footer,
#skipnav,
#nav_container,
#slide_container,
#breadcrumbs,
.calendarSideBar {
	display: none !important;
}


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

GLOBAL BLOCK ELEMENTS

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

#logo {
	margin-bottom: 30pt;
}

#sidecol {
	margin-top: 30pt;
	border-top: 1pt solid #000;
}


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

GLOBAL CLASSES AND DEFINITIONS

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

.kein_abstand,
div.box + *:first-child,
.has_js div.box .bcc  + *:first-child{
	margin-top: 0 !important;
}

/* format for cms class "kein_abstand" that is generated as <span> inside of html element
 * e.g. <h2><span class="kein_abstand">Überschrift</span></h2>
 */
span.kein_abstand {
	display: block;
}

h2 .kein_abstand {
	margin-top: -30pt !important;
}

h3 .kein_abstand {
	margin-top: -24pt !important;
}

h4 .kein_abstand,
.teaser h2 .kein_abstand {
	margin-top: -21pt !important;
}

p .kein_abstand,
ol .kein_abstand,
ul .kein_abstand,
dl .kein_abstand,
form .kein_abstand {
	margin-top: -12pt !important;
}

ul .kein_abstand,
ol .kein_abstand {
	margin-top: 8pt !important;
}


.clearfix:after,
dl dd:after,
#Form_CalendarFilterForm .field:after {
	content: "."; 
    display: block; 
    height: 0;
	line-height: 0;
    clear: both; 
    visibility: hidden;
}

.clearfix,
dl dd,
#Form_CalendarFilterForm .field {
	height: 1%;
}

/* class to hide html elements */
.invisible,
.dont_print {
	display: none;
}

/* class to print hidden elements */
.do_print {
	display: block !important;
}

div.hr {
	height: 0;
	margin: 12pt 0;
	border-top: .25pt solid #000;
}

div.hr hr {
	display: none;
}


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

TYPOGRAPHY

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

h1, h2, h3, h4, h5, h6 {
	font-family: Georgia, "Times New Roman", Times, serif;
	color: #000;
	font-weight: normal;
	page-break-after: avoid;
}

h2 {
	font-size: 20pt;
	line-height: 24pt;
	margin-top: 30pt;
}

h3 {
	font-size: 16pt;
	line-height: 20pt;
	margin-top: 24pt;
}

h4,
.teaser h2 {
	font-size: 14pt;
	line-height: 17pt;
	margin-top: 21pt;
}

/* font-family and font-size */
p,
ol,
ul,
dl,
th,
td,
textarea,
label {
	font-family: "Lucida Grande", "Lucida Sans Unicode", Arial, Verdana, sans-serif;
	font-size: 8pt;
}

/* margins and line-height */
p,
ol,
ul,
dl,
form {
	margin-top: 12pt;
	line-height: 12pt;
}

.intro p,
.intro ol,
.intro ul,
.intro dl {
	font-size: 10pt;
	line-height: 15pt;
}

strong {
	font-weight: bold;
}

em {
	font-style: italic;
}

/* margins */
ul,
ol {
	margin-top: 8pt;
}

ul ul, ul ol, ul dl,
ol ol, ol ul, ol dl,
dl ul, dl ol {
	font-size: 100%;
}

ul li,
ol li {
	margin-top: 4pt;
}

ul li {
	list-style-type: disc;
	margin-left: .5cm;
}

ol li {
	list-style-type: decimal;
	margin-left: .6cm;
}

ul.unstyled li,
ol.unstyled li {
	list-style: none;
	background: none;
	margin-left: 0;
	padding-left: 0;
}

dl {	
}

dl dt {
	width: 3cm;
	float: left;
	font-weight: bold;
	clear: left;
}

dl dd {
	margin-left: 4cm;
}

dl dt,
dl dd {
	margin-bottom: .1cm;
}



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

TYPOGRAPHIC CLASSES

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

.adr_float {
	float: left;
	width: 3cm;
}

.adr_float.long {
	width: 4cm;
}

.bildunterschrift {
	margin-top: 0;
	font-size: 7.5pt;
	font-style: italic;
}

span.bildunterschrift {
	display: block;
	margin-top: -12pt;	
}

.system_msg {
}

.system_msg.error {
}

.system_msg.success {
}

/*-------------------------------------------------------------------
EVENTS TEASER LIST
-------------------------------------------------------------------*/
ul#events_teaser,
ul#events_upcoming {
	margin: 0;
}

ul#events_teaser li,
ul#events_upcoming li {
	list-style: none;
	background: none;
	margin-left: 0;
	padding-left: 0;
	padding-top: 7pt;
	margin-top: 7pt;
	border-top: .25pt solid #000;
}

ul#events_teaser li:first-child,
ul#events_teaser li.first-child,
ul#events_upcoming li:first-child,
ul#events_upcoming li.first-child {
	padding-top: 0;
	border-top: none;
}

ul#events_teaser h3,
ul#events_teaser p {
	margin-top: 0;	
	line-height: 12pt;
	font-family: "Lucida Grande", "Lucida Sans Unicode", Arial, Verdana, sans-serif;
}

ul#events_teaser p.dates {
	font-size: 7pt;
	font-weight: bold;
}

ul#events_teaser p.location,
#event_detail p.location {
	font-size: 6.5pt;
	text-transform: uppercase;
}

ul#events_teaser h3 {
	font-size: 8pt;
}

/*-------------------------------------------------------------------
UPCOMING EVENTS
-------------------------------------------------------------------*/
ul#events_upcoming li {
	padding-top: 12pt;
	margin-top: 12pt;
}

ul#events_upcoming h3,
ul#events_upcoming p.dates,
ul#events_upcoming p.location {
	margin-top: 0;
}

ul#events_upcoming p.dates,
#event_detail p.dates {
	font-weight: bold;
}

ul#events_upcoming p.location,
#event_detail p.location {
	font-size: 7.5pt;
	text-transform: uppercase;
}

/*-------------------------------------------------------------------
EVENT DETAILS
-------------------------------------------------------------------*/
#event_detail p.dates {
	margin-top: 0;
}

#event_detail p.location,
#event_detail h2.summary {
	margin-top: 4pt;	
}

#event_detail p.dates {
	font-size: 7.5pt;
}

#event_detail p.location {
}


/*-------------------------------------------------------------------
SEARCHRESULTS
-------------------------------------------------------------------*/
#SearchResults p,
p#SearchResultsPageInfo {
	margin-top: 0;
	font-size: 7.5pt;
}

#SearchResults p.NestedTitle,
p#SearchResultsPageInfo {
	font-style: italic;
}

p#SearchResultsPageInfo strong {
	color: #aaa;
}

p#PageNumbers {
	display: none;
}


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

IMAGES

-------------------------------------------------------------------*/
img {
	line-height: 0;
	color: #000;	/* set color so that it has enaough contrast to background-color */
}

img.right,
img.left {
	margin-top: 12pt;
	margin-bottom: 12pt;
}

p img.right,
p img.left {
	margin-top: 4pt;
}

img.right {
	float: right;
	margin-left: 12pt;
}

img.left {
	float: left;
	margin-right: 12pt;
}


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

LINKS

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

a,
a:link,
a:visited,
a:hover, 
a:active,
a:focus {
	text-decoration: underline;
	color: #e3000b;
}

a img {
	border: none;
}

/* link to external website that is opened in a new window */
a.external_link {
}

/* show href attribute of external links */
a.external_link:after {
	content:" [URL: "attr(href)"]";
}


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

IMAGE GALLERY

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

ul#image_gallery {
	margin-left: -10px;
}

ul#image_gallery li {
	background-image: none;
	padding-left: 0;
	width: 130px;
	float: left;
	height: 100px;
	margin: 10px;
	text-align: center;
	overflow: hidden;
}

ul#image_gallery li a {
	display: block;
	width: 130px;
	height: 100px;
	overflow: hidden;
}

ul#albums li {
	list-style: none;
	background: none;
	margin-left: 0;
	padding-left: 0;
	margin-top: 12pt;
}

ul#albums div.album-cover-image {
	width: 100px;
	height: 100px;
	float: left;
	overflow: hidden;
	margin: 0 15pt 0 0;
}


}
