BODY {
font-size: 17px;
font-size: calc( 15px + (17 - 15) * (100vw - 320px) / (1600 - 320));
font-family: Arial, Verdana, 'Lucida Sans Unicode', sans-serif;
color:var(--color-text);
}

.invisible {
border: 0;
clip: rect(0 0 0 0);
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute;
width: 1px;
}
#container{min-height: 455px;}

A {
color:var(--color-link);
text-decoration: underline;
}

P {
line-height: 1.4;
}

STRONG {
font-weight: normal;
}

H1, H2 {
color:var(--color-headline);
margin-top: 0px;
margin-bottom:30px;
}

H1 {
text-shadow: 1px 1px 1px #C5C5C5;
font-size: 2.2em;
letter-spacing: 0.02em;
}

H2 {
font-size: 1.7em;
}

H3 {
margin-top: 0px;
}

.trenner {
border: 1px solid #11662E;
}

FOOTER H4 {
margin-top: 0px;
color:var(--color-headline-h1);
}

.image_container IMG {
display: block;
width: auto;
height: auto;
margin-bottom: 10px;
max-width: 100%;
}

FIGURE.image_container A::before {
background-image: none;
padding: 0px;
background-color: transparent;
}

/*Hintergrundfoto volle Breite*/
.hintergrundfoto_volle_breite H2 {
color: #FFF;
font-size: 1.5em;
margin-bottom: 31px;
}

.mod_article.hintergrundfoto_volle_breite.block {
width: 100%;
margin: 50px 0px;
max-width: 100%;
background-size: cover;
background-attachment: fixed;
background-repeat: no-repeat;
padding: 200px 0px;
}

.mod_article.hintergrundfoto_volle_breite > .block, .mod_article.hintergrundfoto_volle_breite > .ce_headline {
background-color:var(--color-headline);
color: #FFF;
padding: 30px;
max-width: 850px;
margin: 0 auto;
font-size: 1.1em;
}

.mod_article.hintergrundfoto_volle_breite .ce_headline {
font-size: 2em;
}

.mod_article.hintergrundfoto_volle_breite.foto_1 {
background-image: url("../../inhalte/grafiken/hintergrundfotos/Hintergrundfoto_1.jpg");
}

.mod_article.hintergrundfoto_volle_breite.foto_2 {
background-image: url("../../inhalte/grafiken/hintergrundfotos/Hintergrundfoto_2.jpg");
}

.mod_article.hintergrundfoto_volle_breite.foto_3 {
background-image: url("../../inhalte/grafiken/hintergrundfotos/Hintergrundfoto_3.jpg");
}

/*Hyperlinks, Schaltflaechen*/
.ce_hyperlink.linkschaltflaeche_kreis {
background: transparent;
display: flex;
justify-content: center;
}

.ce_hyperlink.linkschaltflaeche_kreis A {
background-color: var(--color-headline);
color: #FFF;
text-decoration: none;
font-size: 2em;
text-align: center;
line-height: 1;
padding: 13px 16px 20px;
border-radius: 50%;
vertical-align: middle;
border: 2px solid #FFF;
}

.hintergrundfoto_volle_breite .ce_hyperlink.linkschaltflaeche_kreis {
background: transparent;
display: flex;
justify-content: center;
}

.volle_breite .ce_hyperlink.linkschaltflaeche_kreis A {
background-color: transparent;
font-size: 1.3em;
}

/*.linkschaltflaeche.block {
display: block;
text-align: center;
position: relative;
bottom: 2px;
(*padding: 20px;*)
height: 86px;
width: 50%;
}*/
.block A.linkschaltflaeche {
color:var(--color-nav-level-1-active);
background-color:var(--color-nav-level-1-bg-active);
font-weight: normal;
padding: 14px;
display: flex;
width: 144px;
justify-content: center;
margin: 25px auto 0;
}

.block A.linkschaltflaeche:before {
background-image: none;
background-color: transparent;
width: auto;
padding: 0px;
}

/*Accordion*/
.accordion {
margin: 20px;
}

.ce_accordion .toggler::after {
content: "+";
font-size: 1.5em;
text-indent: 0;
width: auto;
position: absolute;
top: 50%;
transform: translatey(-50%);
right: 0.33846em;
}

.ce_accordion .toggler.active::after {
    content: "-";
    font-size: 1.5em;
    text-indent: 0;
    width: auto;
    position: absolute;
    top: 49%;
   
    right: 0.5em;
}

.ce_accordion .toggler {
position: relative;
margin-top: 4px;
padding: 0.6875em 2.5em 0.8125em 1.25em;
border:1px solid var(--color-headline);
border-radius: 3px 3px 0px 0px;
outline: none;
font-weight: normal;
cursor: pointer;
background:var(--color-headline);
color: #FFF;
font-size: 1.2em;
}

/*Download & Downloadarchiv*/
.ext-pdf {
background-position: 4px -4px;
background-size: 30px 35px;
padding-left: 39px;
}

.ce_downloads UL {
background-color:var(--color-teaser-bg);
margin: 0px;
padding: 10px;
}

.ce_downloads UL LI {
display: block;
}

.ce_downloads UL LI.ext-pdf, .ce_download {
padding-left: 55px;
background-position: 18px 1px;
background-size: 30px 35px;
}

.ce_downloads .download-element {
padding: 10px 29px;
}

/*Bildergalerie*/
.ce_gallery:not(.slider) UL {
display: flex;
flex-flow: row wrap;
list-style: none;
}

.ce_gallery LI {
margin: 0 5px 5px 0px;
flex-basis: calc(16.6% - 5px);
}

/*Teaser & Hintergrundfarben*/
.teaser_bg_color_dkl_gruen, .teaser_bg_color_hell_gruen, .teaser_bg_color_orange {
padding: 0px 20px;
}

.teaser_bg_color_dkl_gruen span a{
	color:#ffffff!important;
}

.teaser_bg_color_dkl_gruen H2, .teaser_bg_color_dkl_gruen, .teaser_bg_color_dkl_gruen A {
color: #FFF;
background-color:var(--color-1);
}

.teaser_bg_color_hell_gruen, .teaser_bg_color_hell_gruen A {
color: #292929;
background-color:var(--color-5);
}

.teaser_bg_color_hell_gruen H2 {
color:var(--color-1);
}

.teaser_bg_color_orange H2, .teaser_bg_color_orange, .teaser_bg_color_orange A {
color: #FFF;
background-color:var(--color-headline);
}

.ce_text A::before {
background-image: url("../../theme/designgrafiken/datenschutz.png");
background-position: center;
border-radius: 12px;
padding: 2px;
background-color: #EEEEEE;
background-repeat: no-repeat;
background-size: 13px 13px;
display: inline-block;
width: 13px;
height: 13px;
content: "";
}

/*Slider*/
.mod_rocksolid_slider {
clear: both;
}

#main .content-slider IMG {
box-shadow: none;
}

/*Login & Powered*/
#login_heitech {
/*max-width: 1200px;*/
padding: 0px 10px;
margin: 0 auto;
background-color: #FFF;
padding-bottom: 25px;
}

.login {
color: #FFF;
width: 50px;
height: 25px;
float: left;
left: 0;
}

.login A {
display: block;
}

.heitech {
float: right;
padding-top: 10px;
}

/*Tabellen*/
#main TABLE TR:nth-child(2n+0) {
background-color: #E2E2E2;
}

#main TABLE TD {
padding: 10px;
}

#footer TABLE TD {
padding: 5px 0px;
line-height: 1.2;
}

/*Nachrichten, in Teilen Events*/
.mod_newslist .layout_latest.block {
padding: 20px 10px;
}

.mod_newslist .layout_latest .more A {
margin-bottom: 0px;
color:var(--color-3);
}

.mod_newslist .layout_latest.block {
background-color: #F4F2F2;
margin-bottom:20px;

}

.mod_newslist .pagination, .mod_eventlist .pagination {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin-top: 21px;
}

.mod_newslist .pagination UL, .mod_eventlist .pagination UL {
display: inline;
line-height: 35px;
}

.mod_newslist .pagination UL LI, .mod_eventlist .pagination UL LI {
display: inline;
}

.mod_newslist .pagination UL LI .active, .mod_eventlist .pagination UL LI .active {
background-color:var(--color-2);
padding: 5px 10px;
color:var(--color-6);
}

.mod_newslist .pagination UL LI A, .mod_eventlist .pagination UL LI A {
background-color:var(--color-1);
padding: 5px 10px;
color:var(--color-7);
}

.mod_newslist .layout_latest.block .info {
line-height: 0.6;
}

.mod_newslist .layout_latest H2 A {
color:var(--color-3);
}

.mod_newsreader .layout_full FIGURE.image_container, .mod_eventreader .layout_full FIGURE.image_container {
margin-bottom: 30px;
}

.mod_newsreader.block .back, .mod_eventreader.block .back {
text-align: center;
padding-top: 10px;
border-top: 1px solid #11662C;
}

/*Veranstaltungen*/
.mod_eventlist .layout_teaser {
display: inline-block;
margin-bottom: 50px;
padding: 20px 10px;
}

.mod_eventlist .header {
color:var(--color-3);
font-size: 30px;
margin-bottom: 24px;
}

.mod_eventlist .layout_teaser .ce_text P {
padding-top: 8px;
}

.mod_eventlist .layout_teaser {
background-color: #F4F2F2;
width: 100%;
}

/*Top-Link*/
/*Footer Top Link*/
@media screen and (min-width: 900px){
	.scrollUp {
display: block;
height: 100px;
width: 100px;
border-radius: 56px;
background-color: #ED833C;
font-size: 2em;
position: fixed;
bottom: 135px;
right: 20px;
border: 5px solid #B7BBB7;
cursor: pointer;
z-index: 999;
}

.scrollUp:after {
content: '▲';
color: #FFF;
position: absolute;
top: 30px;
left: 34px;
/*font-weight: 700;*/
}
}


/*Suche*/
#suchformular {
position: absolute;
right: 28px;
width: 240px;
}

#suchformular INPUT.text {
width: 200px;
float: left;
margin-right: 10px;
height: 36px;
}

.mod_search FORM .widget-text {
width: 280px;
float: left;
margin-right: 10px;
}

.mod_search FORM .widget-submit BUTTON.submit {
font-size: 0.9em;
padding: 5px 10px;
}

#suchformular INPUT.submit {
padding-top: 5px;
}

#main .mod_search INPUT.text {
padding: 0.25em;
}

.mod_search .radio_container {
margin: 1em 0;
}

.mod_search .radio_container LABEL {
margin-right: 0.5em;
}

#main .mod_search P.header {
text-align: right;
background-color: #11662E;
color: #FFF;
box-shadow: 0 2px 6px rgba(170, 170, 170, 0.3);
padding: 0.5em;
margin-top: 2em;
}

#main .mod_search H3 {
font-size: 1em;
font-weight: bold;
}

#main .mod_search H3 .relevance {
font-size: 0.75em;
font-weight: normal;
}

.mod_search P.context {
margin: 0;
}

.mod_search .highlight {
background-color: #FCE3D1;
}

.mod_search P.url {
color: #11662F;
text-decoration: underline;
}

.mod_search .even, .mod_search .odd {
padding: 0.5em;
}

.mod_search .odd {
background-color: #ECECEC;
margin: 1em 0;
}

/*Nachrichten*/
.mod_article .ce_hyperlink.button.aktuelles {
font-size: 1em;
padding: 10px 20px;
margin: 20px 0px 50px;
/*position: absolute;*/
right: 21px;
border: 1px solid #11662E;
}


/* line 6, scss/sass/_reset.scss */
fieldset,
form,
label,
legend
 {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

.ce_form {
  max-width: 60ch;
  margin: 0 auto;
}



.ce_form input,
.ce_form textarea,
.ce_form button {
  border: 1px solid var(--form-input-border);
  border-radius: 0;
  padding: 0.5rem 2ch 0.5rem;
}

.edge .ce_form input[type=checkbox] {
  border: none;
}
.ce_form button {
  font-size: 2rem;
  padding: 1rem 2ch 1rem;
  color: var(--color-text);
}

.ce_form legend {
  margin-top: 1rem;
  margin-bottom: 1rem;
  font-weight: bold;
  padding: 0.5rem 1ch 0.5rem 0;
  color:var(--color-headline);
}
.ce_form label {
  display: block;
  width: 100%;
}


.ce_form .formbody > fieldset > legend {
  font-size: 1.7rem;
  font-weight: normal;
  padding-left: 1ch;
  width: auto;
  background-color: var(--form-legend-bg);
}

.ce_form .formbody > fieldset {
  /* border: 1px solid var(--form-input-border); */
  padding: 1rem 2ch;
  background-color: var(--form-fieldset-bg);
  margin-bottom: 4rem;
}

.ce_form .widget {
  position: relative;
}
.ce_form .widget-submit,
.ce_form .widget-text,
.ce_form .widget-textarea,
.ce_form .widget-upload,
.ce_form .checkbox_container {
  display: grid;
  grid-row-gap: 0.25rem;
  margin-bottom: 1.5rem;
}

.ce_form .checkbox_container {
  display: flex;
  flex-direction: column;
}
.ce_form .checkbox_container span {
  display: flex;
  margin-bottom: 1rem;
}

.ce_form .checkbox_container label {
  margin-left: 2ch;
}

.ce_form .widget-submit {
  justify-items: center;
  align-items: center;
  min-height: 8rem;
}

.ce_form p.error {
  color: var(--form-error-text-color);
  font-style: italic;
}
.ce_form .widget.error::before {
  position: absolute;
  content: "";
  border-left: 1ch solid var(--color-headline);
  width: 2ch;
  height: 100%;
  left: -1.5ch;
  top: 0;
}


.mod_belegungsplan th,
.mod_belegungsplan td {
  position: relative;
  z-index: 2;
  text-align: center;
}

.belegungsplan_months {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-evenly;
}


.belegt {
  color: var(--belegungsplan-belegt-color);
  font-weight: bold;
}

.belegt::after {
  display: block;
  background-color: var(--belegungsplan-belegt-bg);
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  content: "";
  z-index: -1;
}

.belegt.anreise::after {
  border-top-left-radius: 50%;
}
.belegt.abreise::after {
  border-bottom-right-radius: 50%;
}

.ce_text h2 {
    margin-top: 15px;
}

.autogrid img{
	margin-bottom:0px;
}

.autogrid_wrapper{
	margin-bottom:10px;
}

.ce_text {
     clear: both;
}

.themengrafik img {
	width: 100%;
}