@font-face {
	font-family: 'ZineSans';
	src: url('../cpfont/ZineSansDisWeb.woff2') format('woff2'),
         url('../cpfont/ZineSansDisWeb.woff') format('woff');
	font-style: normal;
	font-weight: normal;
    font-display: swap;
}
@font-face {
	font-family: 'ZineSans';
	src: url('../cpfont/ZineSansDisWeb-Bold.woff2') format('woff2'),
         url('../cpfont/ZineSansDisWeb-Bold.woff') format('woff');
	font-weight: bold;
    font-display: swap;
}
@font-face {
	font-family: 'Arsenal';
	src: url('../cpfont/Arsenal-Regular.woff2') format('woff2'),
         url('../cpfont/Arsenal-Regular.woff') format('woff');
	font-style: normal;
	font-weight: normal;
    font-display: swap;
}
@font-face {
	font-family: 'Arsenal';
	src: url('../cpfont/Arsenal-Italic.woff2') format('woff2'),
         url('../cpfont/Arsenal-Italic.woff') format('woff');
	font-style: italic;
    font-display: swap;
}
@font-face {
	font-family: 'Arsenal';
	src: url('../cpfont/Arsenal-Bold.woff2') format('woff2'),
         url('../cpfont/Arsenal-Bold.woff') format('woff');
	font-weight: bold;
    font-display: swap;
}
@font-face {
	font-family: 'Arsenal';
	src: url('../cpfont/Arsenal-BoldItalic.woff2') format('woff2'),
         url('../cpfont/Arsenal-BoldItalic.woff') format('woff');
	font-style: italic;
	font-weight: bold;
    font-display: swap;
}
html, body, div, span, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, em, img, ol, ul, li, form, table, tbody, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
}
body {
	color: #575547;
	text-align: center;
	margin: 0;
	background-color: white;
	overflow-Y: scroll;
	overflow-x: hidden;
	font: normal 18px/1.5em ZineSans, Helvetica, Arial, sans-serif;
	width: 100%;
	height: 100%;
	overflow: auto;
}
img {
	border-style: none;
}
.noborder {
	border-style: none !important;
}
/* abstände */
form {
	margin: 0;
	padding: 0;
}
table {
	margin: 0;
	padding: 0;
	border-collapse: collapse;
}
td {
	vertical-align: top;
}
h1, h2, h3, h4, h5, h6, p, ul {
}
#cookies, #cookies span {
	font-size: 0.7em !important;
	line-height: 120% !important;
}
/*Linksteuerung*/
a, a:visited {
	color: #9f418d;
	text-decoration: none;
}
a:hover {
	color: #9f418d;
	text-decoration: underline;
}
a.anker {
	width: 0;
	height: 0;
	margin: -220px 0 0;
	padding: 0;
	position: absolute;
}
/* schriftformatierung:Headline		h1Überschrift		h2Headline			h3große Überschrift		h4normale Überschrift		h5kleine Überschrift		h6	(z.B. Datum in News)normale Schrift		pkleine Schrift			span klein */
h1 {
	color: #575547;
	font: bold 1.7em/1.3em Arsenal;
	margin-bottom: 1em;
}
h2 {
	color: #575547;
	font: bold 1.5em/1.3em Arsenal;
	margin-bottom: 1em;
	background-color: white;
	padding-right: 0;
	padding-left: 0;
}
h3 {
	color: #076f9e;
	font: 1.1em/1.3em Arsenal;
	margin-bottom: 0.5em;
}
h4 {
	font: bold 1.1em/1.3em Arsenal;
	margin-bottom: 0.5em;
}

/* @group Untitled Group */

h5, h6 {
	font-size: 1em;
	margin-bottom: 0.5em;
	font-weight: normal;
	font-style: normal;
}

/* @end */

p {
	margin-bottom: 1.5em;
	text-align: left;
}
ul {
	margin-top: 0;
}
li {
	margin-left: 20px;
}
.small, .kl {
	font-size: 0.8em;
}
.b, .bold, .fett {
	font-weight: bold;
}
.i, .italic, .kursiv {
	font-style: italic;
}
/*farben*/
.magenta {
	background-color: #9f418d;
}
.dunkelblau {
	background-color: #076f9e;
}
.blau {
	background-color: #00a6d6;
}
.hellblau {
	background-color: #6caac7;
}
.blassblau {
	background-color: #e2eef4;
}
.dunkelgrau {
	background-color: #575547;
}
.grau {
	background-color: #7b7862;
}
.hellgrau {
	background-color: #e5e4e0;
}
/*cms*/
.container {
	float: none;
}
.fliessend {
	float: left;
	margin-right: 15px;
	display: block;
	margin-bottom: 5px;
}
.trennlinie, hr {
	font-size: 0;
	width: auto;
	height: 0;
	clear: both;
	margin: 20px 5px;
	border-style: none;
}
.center, .c {
	text-align: center;
}
.rechts, .r {
	text-align: right;
}
.left, .l {
	text-align: left !important;
}
.hide {
	display: none;
}
.clearer {
	clear: both;
}
.bild_l {
	float: left;
	margin-right: 20px;
	margin-bottom: 10px;
	margin-left: 0;
	padding: 0;
}
/*
Seitenelemente
*/
.top, .seite, nav {
	width: calc(100% - 40px);
	max-width: 990px;
	margin: 0 auto;
	padding: 0;
}
.top {
	height: 240px;
	z-index: 1000;
	background-color: white;
	position: relative;
	text-align: left;
}
.image {
	width: calc(100% - 80px);
	height: 100%;
	margin: 0;
	padding: 0;
	background-size: cover;
	background-position: center center;
	position: absolute;
	top: 0;
	right: 0;
	text-align: center;
}
.logo {
	z-index: 10;
}
.logo img {
	position: absolute;
}
.logo .kreis {
	height: calc(100% + 30px);
	width: auto;
}
.logo .log img {
	margin-top: 20px;
	margin-left: 20px;
}
.logo .versorg img {
	margin-top: 170px;
	margin-left: 20px;
	height: auto;
	width: 100px;
}
.flex {
	position: relative;
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	justify-content: space-between;
}
.seite {
	margin-top: 40px;
	z-index: 1;
}
.content {
	position: relative;
	text-align: right;
	display: inline-block;
	width: calc(100% - 200px);
	float: left;
	padding-right: 20px;
}
.cms {
	display: inline-block;
	position: relative;
	text-align: left;
	width: 100%;
}
.cms img {
	max-width: 100%;
	height: auto;
}
.spalte {
	width: calc(50% - 40px);
	float: left;
	margin-right: 40px;
}
.spaltenabst {
	width: 24%;
	float: left;
	height: 100px;
}
.fuss {
	clear: both;
	width: 100%;
	background-color: #e9e8e5;
}
.fuss_content {
	position: relative;
	display: inline-block;
	width: calc(100% - 20px);
	margin-right: 20px;
	margin-left: 20px;
	margin-top: 20px;
}
.fuss_oben {
	width: 100%;
	height: 0;
	margin: 0;
	padding: 0;
	position: relative;
	bottom: 0;
	left: 0;
	z-index: 10;
}
.fuss_oben img {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
}
.fusstext {
	width: calc(25%);
	min-width: 220px;
	float: left;
	margin-right: 19px;
	position: relative;
}
.fusslink {
	position: relative;
	float: right;
	margin-left: 19px;
}
.fusstext h4 {
	white-space: nowrap;
	text-align: left;
}
.fuss h2 {
	margin-bottom: 0.5em;
}
.fusstext p {
	font-size: 0.9em;
	margin-bottom: 0;
}
.tabelle td {
	text-align: left;
	vertical-align: top;
	padding-right: 10px;
	padding-bottom: 5px;
}
/*Menuetemplates*/
.seitenleiste {	float: right;	max-width: 180px;
	display: inline-block;
	position: relative;
	z-index: 100;
}
nav {
	width: 100%;
	max-width: 990px;
	margin: 0.5em auto 0;
	padding: 0 20px;
	text-align: left;
	z-index: 1000;
}
ul#menue {
	display: flex;
	padding: 0;
	width: 100%;
	margin: 0;
}
/* Hauptmenue */
ul#menue li {
	list-style: none;
	position: relative;
	float: left;
	text-align: left;
	padding: 0;
	margin: 0;
	flex-grow: 1;
	z-index: 1000;
}

ul#menue li a, ul#menue li a:visited {
	font-size: 1.1em;
	color: #575547;
	text-align: center;
	transition: color 0.7s;
	display: inline-block;
	line-height: 2em;
	text-decoration: none;
	white-space: nowrap;
}

ul#menue li:hover a, ul#menue li.aktuell a {
	color: #9f418d;
	transition: color 0.7s;
	text-decoration: none;
}
/* Submenue*/
ul#menue li ul {
	position: absolute;
	display: none;
	top: 2em;
	width: auto;
	max-height: calc(100vh - 100px);
	overflow-y: auto;
	overflow-x: hidden;
	background-color: #e5e4e0;
	padding-top: 0.5em;
}

ul#menue li:hover ul, ul#menue li:focus ul {
	display: block;
}

ul#menue li ul li {
	float: none;
}

ul#menue li ul li a, ul#menue li.aktuell ul li a, ul#menue li:hover ul li a, ul#menue li ul li a:visited
	{
	padding: 0 1em;
	display: block;
	font-size: 1em;
	text-align: left;
	border-bottom-style: none;
	line-height: 1.2em;
	margin-bottom: 0.5em;
	color: #575547;
}

ul#menue li ul li.aktuell a, ul#menue li ul li:hover a {
	color: #9f418d;
}
.slicknav_menu {
	display: none;
}
/* galerie */
.galerie {
	
}
.galerie_image {
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	width: 200px;
	height: 200px;
}
.galerie_image img {
	max-width: 90%;
	height: auto;
	max-height: 90%;
}
/* news */
.news {
	padding-bottom: 20px;
	display: inline-block;
	width: 100%;
}
.newsanzeige {
	width: calc(100% - 230px);
	float: left;
}
.news h3 {
	text-align: left;
	margin-bottom: 0;
}
.news h3 span {
	font-size: 18px;
	padding-left: 15px;
}
.news h6 {
	font-weight: normal;
	font-style: normal;
	font-size: 14px;
	margin-bottom: 0;
}
.news p {
	
}
.news .news_text p {
	padding-top: 0px;
	padding-bottom: 0px;
	margin: 0;
}
.news hr {
	border-top: 1px solid #3d3d3d;
	margin: 5px 0;
}
.news_bilder {
	float: left;
	margin-right: 20px;
	margin-bottom: 15px;
}
.news img {
	margin-top: 15px;
	width: 200px;
}
.news_einzel img {
	float: left;
	margin-right: 20px;
}
.news .newsbild {
	position: relative;
}
a.newslink {
	
}
a.newslink:hover {
	background-image: url(../images/btn_grau.png);
	text-decoration: none;
}
.newslist {
	max-width: 560px;
	float: left;
}
.newsabst {
	width: 125px;
	float: left;
	height: 125px;
}
.terminlist {
	max-width: 462px;
	float: left;
}
.newslist img {
	float: left;
	margin-right: 20px;
	margin-bottom: 15px;
}
/* kalender */
#kalender {
	display: inline-block;
	float: right;
	font-size: 14px;
}
.kalender {
	width: 210px;
	border: 1px solid black;
}
.kalendertitel {
	text-align: center;
	font-size: 1.3em;
}
.kalendertitel div {
	display: inline-block;
	background: white;
	color: black;
	margin-right: 10px;
	margin-left: 10px;
}
.kalendertitel span {
	cursor: pointer;
	padding-right: 5px;
	padding-left: 5px;
	line-height: 1.8em;
}
.kalendertitel p {
	text-align: center;
	line-height: 1.8em;
	margin: 0;
	padding: 0;
}
.kalender div.next_m, .kalender div.prev_m {
	color: #7b7862;
}
.kalender .tag {
	float: left;
	width: calc(100% / 7);
	line-height: 30px;
	text-align: center;
}
.kalender .tage {
	background-color: #e5e4e0;
	font-weight: bold;
}
.kalender a {
	color: black;
	text-decoration: none;
}
.kalender a:hover {
	
}
.kalender .tag.heute {
	font-weight: bold;
	background-color: #f1f0eb;
}
.kalender .tag.event {
	background-color: #c7e7f7;
}
.kalender .tag.marker {
	background-color: #f9d1f1 !important;
}
.clear {
	clear: left;
}
/* adressen */
.adressen {
	margin-bottom: 20px;
}
.adressen h4 {
	margin-top: 15px;
	font-size: 20px;
	color: #076f9e;
}
.adressen h6 {
	margin-bottom: 0;
	margin-top: 10px;
}
.adressen p {
	font-size: 16px;
	margin-bottom: 20px;
	margin-top: 0;
}
.adresssp {
	float: left;
	display: block;
	width: 340px;
	margin-right: 20px;
}
/* downloads */
div.downloadfeld {
	margin-bottom: 5px;
	padding-bottom: 5px;
	border-bottom: 1px solid #ccc;
	padding-top: 5px;
}
div.downloadfeld h5, div.downloadfeld h6, div.downloadfeld p {
	margin-bottom: 2px;
	margin-top: 2px;
	padding: 0;
}
div.downloadfeld:hover {
	background-color: #eeeeee;
}
div.downloadfeld a {
	margin-left: 20px;
	float: right;
}
/*Formulartemplates */
.formular {
	margin-right: auto;
	margin-left: auto;
	text-align: left;
}
/* select formatieren */
.formular select {
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	border: none;
	cursor: pointer;
	background: url(../images/pulldown.svg) no-repeat 97% center;
	background-size: auto 14px;
}
.formular select::after {
	content: "++";
}
.formular select::-ms-expand {
	display: none;
}
.formular select:focus::-ms-value {
	background-color: transparent;
}
/* aussehen eingabefeld */
.formular input, .formular select, .formular textarea {
	outline: none;
	margin: 0;
	z-index: 1;
	background-color: #F0F0F0;
	color: #898989;
	border-style: none;
	font-size: 16px;
	line-height: 140%;
	padding: 2px 7px 5px;
}
.formular select option {
	font-size: 20px;
}
/* abstand oben */
.formular div.normal, .formular div.kurz, .formular div.mittel, .formular div.breit {
	margin: 0;
	display: inline-block;
	padding: 15px 0 0;
	text-align: left;
	position: relative;
}
/* normales feld = spalte */
.formular div.normal div {
	display: inline-block;
	margin: 0;
	padding: 0;
}
.formular div.normal {
	width: calc(50% - 20px);
	margin-right: 30px;
}
.formular div.normal:nth-of-type(even) {
	margin-right: 0;
}
.formular div.normal input:nth-of-type(even) {
	margin-left: 10px;
}
/* breites feld */
.formular div.breit {
	width: 100%;
}
.formular h6 {
	display: inline-block;
	width: 100px;
	font-weight: normal;
	font-style: normal;
	text-align: left;
	margin: 0;
	padding: 0;
	vertical-align: top;
	font-size: 16px;
	line-height: 24px;
}
.formular h6 span {
	/
* pflichtfeldmarkierung */
	color: #9f418d;
	padding-left: 3px;
}
/* normale eingabe (feldbreite - beschriftung - abstand) */
.formular input.standard, .formular select.standard, .formular textarea.standard, .formular div.normal div.inputgroup, .formular div.normal select, #login_plz, #login_strasse, #login_hausnummer {
	width: calc(100% - 130px) !important;
}
#login_plz input.standard, #login_strasse input.standard, #login_hausnummer input.standard {
	width: 100% !important;
}
.formular div.normal div.inputgroup {
	display: inline-block;
}
/* kurze eingabe z.B. plz */
.formular input.kurz, .formular select.kurz, .formular textarea.kurz {
	width: 4em;
}
/*mittlere eingabe (normal - kurz - beschriftung - abstand) z.B. ort */
.formular input.mittel, .formular select.mittel, .formular textarea.mittel {
	width: calc(100% - 130px - 4em - 30px);
}
/* gesamte breite (breites Feld - beschriftung - abstand) */
.formular input.lang, .formular select.lang, .formular textarea.lang {
	width: calc(100% - 130px);
}
.inputabstand {
	width: 10px;
	height: 10px;
	display: inline-block;
}
form input[type='submit'], form input[type='button'], button {
	padding: 3px 8px;
	cursor: pointer;
	width: auto;
	height: auto;
	background-color: #9f418d;
	font: 18px Arsenal;
	margin: auto;
	color: #ffffff;
}
#form_registrieren {
	display: none;
}
.formular div.select_strasse {
	max-height: 200px;
	max-width: 100%;
	overflow: auto;
	border: 1px solid #d0d0d0;
	position: absolute;
	z-index: 1;
	display: none;
	background-color: white;
	font-weight: normal;
	font-style: normal;
	font-size: 14px;
	padding: 2px;
	left: 130px;
}
.formular .select_strasse span {
	color: #999;
	cursor: pointer;
	z-index: 10;
}
.secure {
	margin-top: 30px;
	margin-bottom: 30px;
}
.secure  h6 {
	color: #575547;
	font-size: 16px;
	width: 100px;
}
.secure input {
	border-style: solid !important;
	border-color: #aaa6a6;
}
.secure button {
	margin: auto;
}
.secure .formular input[type='submit'], .formular input[type='button'] {
	padding: 3px 8px;
	cursor: pointer;
	width: auto;
	height: auto;
	background-color: #9f418d;
	font: 18px Arsenal;
	margin: auto;
}
/* pad */
@media(max-width: 990px) {
	.body {
	}
	.breit {
		max-width: 796px;
	}
	.mittel {
		max-width: 796px;
	}
	.spalte {
		width: 45%;
	}
	.spaltenabst {
		width: 10%;
	}
	.linkspalten a, .bildlink a {
		width: 280px;
		height: 81px;
		font: 24px Arsenal;
		background-size: 280px 81px;
		padding-top: 21px;
		padding-left: 22px;
		margin-top: 20px;
		text-align: left;
	}
	.newslist, .terminlist {
		max-width: 320px;
	}
	a.anker {
		width: 0;
		height: 0;
		margin: -220px 0 0;
		padding: 0;
		position: absolute;
	}
	.fusstext, .fusslink {
		width: calc(50% - 20px);
		display: inline-block;
	}
	.fusslink {
		position: relative;
		text-align: center;
	}
}
/* smartphone */@media(max-width: 850px) {
	.body {
	}
	nav, .versorg, .seitenleiste {
		display: none;
	}
	.content {
		width: 100%;
	}
	.logo .kreis {
		height: calc(100% + 40px);
	}
	.slicknav_menu {
		display: block;
		top: 0px;
	}
	.slicknav_menu .slicknav_icon {
		width: 35px;
		height: 30px;
		right: 30px;
		top: 10px;
		background-color: rgba(255,255,255,0.75);
		box-shadow: 0px 0px 10px 4px rgba(255,255,255,1);
	}
	.slicknav_menu .slicknav_icon-bar {
		background-color: #9f418d;
	}
	.slicknav_icon {
		z-index: 5000;
	}
	.slicknav_nav {
		background-color: #ffffff;
		top: 0;
		overflow: auto;
		padding-top: 50px;
		max-height: calc(100vh - 50px);
		overflow-y: auto;
		overflow-x: hidden;
	}
	.slicknav_nav ul li {
		width: 100%;
	}
	.slicknav_nav ul li a, .slicknav_nav ul li a:visited {
		font: 1.1em/1.6em Helvetica, Arial, sans-serif;
		text-align: left;
		line-height: 1.5em;
		color: #575547;
	}
	.slicknav_nav span.slicknav_arrow {
		font-weight: bold;
		font-size: 1.2em;
		float: right;
		margin-right: 0.5em;
	}
	.slicknav_nav ul li.aktuell a, .slicknav_nav ul li a:hover {
		color: #9f418d;
	}
	.slicknav_nav ul li.aktuell ul li a, .slicknav_nav ul li ul li a:hover {
		color: #575547;
	}
	.slicknav_nav ul li ul li.aktuell a, .slicknav_nav ul li ul li a:hover {
		color: #9f418d;
	}
	.slicknav_ul#menue li ul {
		border: none;
		position: relative;
	}
	.slicknav_ul#menue li ul li a {
		line-height: 1.1em;
	}
	.top {
		height: 100px;
	}
	.logo .log img {
		margin-top: 0px;
		margin-left: 20px;
		height: 100px;
		width: auto;
	}
	.logo .versorg img {
		margin-top: 40px;
		margin-left: 120px;
		height: auto;
		width: 100px;
	}
	.cms {
		width: 100%;
		float: none;
	}
	.fusstext, .fusslink {
		width: 100%;
		display: inline-block;
		text-align: left;
	}}