*, *:before, *:after {
    -webkit-box-sizing: border-box; /* Safari/Chrome, andere WebKit-Browser */
    -moz-box-sizing: border-box; /* Firefox, andere Gecko-Browser */
    box-sizing: border-box; /* Opera/IE 8+ */
}

@font-face {
    font-family: 'Playfair Display';
    src: url('../fonts/PlayfairDisplay-SemiBold.woff2') format('woff2'),
        url('../fonts/PlayfairDisplay-SemiBold.woff') format('woff'),
        url('../fonts/PlayfairDisplay-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Playfair Display';
    src: url('../fonts/PlayfairDisplay-Italic.woff2') format('woff2'),
        url('../fonts/PlayfairDisplay-Italic.woff') format('woff'),
        url('../fonts/PlayfairDisplay-Italic.ttf') format('truetype');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Playfair Display';
    src: url('../fonts/PlayfairDisplay-SemiBoldItalic.woff2') format('woff2'),
        url('../fonts/PlayfairDisplay-SemiBoldItalic.woff') format('woff'),
        url('../fonts/PlayfairDisplay-SemiBoldItalic.ttf') format('truetype');
    font-weight: 600;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Playfair Display';
    src: url('../fonts/PlayfairDisplay-Regular.woff2') format('woff2'),
        url('../fonts/PlayfairDisplay-Regular.woff') format('woff'),
        url('../fonts/PlayfairDisplay-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Playfair Display';
    src: url('../fonts/PlayfairDisplay-Medium.woff2') format('woff2'),
        url('../fonts/PlayfairDisplay-Medium.woff') format('woff'),
        url('../fonts/PlayfairDisplay-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Playfair Display';
    src: url('../fonts/PlayfairDisplay-MediumItalic.woff2') format('woff2'),
        url('../fonts/PlayfairDisplay-MediumItalic.woff') format('woff'),
        url('../fonts/PlayfairDisplay-MediumItalic.ttf') format('truetype');
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}

body {
	font-family: 'Playfair Display', serif;
	background: url(../img/backround002.jpg) no-repeat center center;
	background-size:cover;
	background-attachment:fixed;
}
.pagewrap {
	float: left;
	width: 100%;
	height: 100vh;
	position: relative;
}
.startanimation {
	position:fixed;
	left:0;
	top:0;
	width:100%;
	height:100vh;
	overflow:hidden;
	z-index:9999;
	-webkit-animation: startanimation_ani 2.0s 1 ease;
	-moz-animation: startanimation_ani 2.0s 1 ease;
	-o-animation: startanimation_ani 2.0s 1 ease;
	animation: startanimation_ani 2.0s 1 ease;
	opacity:0;
	transform:translateY(-120%);
	background:url(../img/titel.jpg) no-repeat center center;
	background-size:cover;
}
.startanimation .it_links {
	position:absolute;
	left:-50%;
	top:0;
	width:82%;
	height:100vh;
	background:rgba(0,128,0,0.8);
	transform:skew(-12deg);
}
.startanimation .it_mitte {
	position:absolute;
	left:-20%;
	top:0;
	width:140%;
	height:100vh;
	background:rgba(255,255,255,0.75);
	transform:skew(-12deg);
}
.startanimation .it_rechts {
	position:absolute;
	left:70%;
	top:0;
	width:50%;
	height:100vh;
	background:rgba(189,16,16,0.8);
	transform:skew(-12deg);
}
.startanimation_logo {
	position:absolute;
	left:50%;
	top:50%;
	width:300px;
	height:110px;
	margin-top:-50px;
	margin-left:-150px;
}
.startanimation_logo img {
	width:100%;
	height:auto;
	display:block;
}
.topbar {
	position:fixed;
	bottom:0;
	left:0;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	background: #ffffff;
	z-index:995;
}
.topbar .links {
	float: left;
	width: 33%;
	height: 10px;
	background: #008000;
}
.topbar .mitte {
	float: left;
	width: 34%;
	height: 10px;
	background: #ffffff;
}
.topbar .rechts {
	float: left;
	width: 33%;
	height: 10px;
	background: #e23131;
}
.header {
	float:left;
	width: 100%;
	height: auto;
	background: rgba(255,255,255,1);
	padding: 12px 0 0 0;
}
.header.active {
	float:left;
	width: 100%;
	height: auto;
	background: rgba(255,255,255,1);
	padding: 12px 0 0 0;
}
.wrapper {
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0 15px;
}
.header a {
	outline: none;
}
.header .logo {
	float: left;
	width: 200px;
	height: auto;
	margin: 0 0 12px 0;
	transition:all 0.3s linear;
}
.animatelogo {
	transform:scale(1.0);
	transform-origin:50% 50%;
	-webkit-animation: header_logo_ani 2.4s 1 ease;
	-moz-animation: header_logo_ani 2.4s 1 ease;
	-o-animation: header_logo_ani 2.4s 1 ease;
	animation: header_logo_ani 2.4s 1 ease;
}
.animatekopf_a {
	transform:translateY(0px);
	-webkit-animation: header_a_ani 3.0s 1 ease;
	-moz-animation: header_a_ani 3.0s 1 ease;
	-o-animation: header_a_ani 3.0s 1 ease;
	animation: header_a_ani 3.0s 1 ease;
}

.animatekopf_b {
	transform:translateY(0px);
	-webkit-animation: header_b_ani 3.0s 1 ease;
	-moz-animation: header_b_ani 3.0s 1 ease;
	-o-animation: header_b_ani 3.0s 1 ease;
	animation: header_b_ani 3.0s 1 ease;
}

.header .logo img {
	width: 100%;
	height: auto;
	display: block;
}
.header .kondaten {
	display: none;
}
.header .zeitendaten {
	display: none;
}
.navbereich {
	display: none;
}
.navbereich.active {
	display: none;
}
.titelslider {
	float: left;
	width: 100%;
	height: 38vh;
	background: url("../img/titel.jpg") no-repeat 50% 50%;
	background-size: cover;
	z-index:1;
}
.titelslider.active {
	float: left;
	width: 100%;
	height: 38vh;
	background: url("../img/titel.jpg") no-repeat 50% 50%;
	background-size: cover;
	z-index:1;
}
.us_scrollspace {
	float:left;
	width:100%;
	height:2px;
	margin:0;
}
.us_scrollspace.active {
	float:left;
	width:100%;
	height:2px;
	margin:0;
}
.content {
	float:left;
	width:100%;
	height:auto;
	min-height:100px;
	margin:40px 0 50px 0;
	padding:0;
}
.content_box {
	float:left;
	width:100%;
	height:auto;
	background:#ffffff;
	border-radius:10px;
	position:relative;
	padding:20px 20px 18px 20px;
}
.content_box h2 {
	float:left;
	width:100%;
	height:auto;
	color:#272e64;
	font-size:22px;
	line-height:30px;
	font-weight:600;
	font-style:italic;
	margin:0 0 18px 0;
}
.content_box h3 {
	float:left;
	width:100%;
	height:auto;
	color:#272e64;
	font-size:18px;
	line-height:26px;
	font-weight:600;
	margin:6px 0 6px 0;
}
.content_box p {
	float:left;
	width:100%;
	height:auto;
	color:#000000;
	font-size:15px;
	line-height:26px;
	font-weight:400;
	margin:0 0 14px 0;
}
.content_box p .fett {
	font-weight:600;
}
.content_box a {
	outline:none;
	text-decoration:underline;
	color: #e23131;
}
.content_box a:hover {
	text-decoration:underline;
	cursor:pointer;
}
.content_box ul {
	float:left;
	width:100%;
	height:auto;
	color:#000000;
	font-size:15px;
	line-height:26px;
	font-weight:400;
	margin:0 0 14px 0;
	list-style:none;
}
.content_box ul li {
	list-style:disc outside;
	margin:0 0 10px 16px;
}

.doppel_box_bereich {
	float:left;
	width:100%;
	height:auto;
	margin:0 0 60px 0;
}
.doppel_box_bereich .links {
	float:left;
	width:100%;
	height:auto;
	background:#ffffff;
	border-radius:0px;
	position:relative;
	padding:4px;
	margin:0;
}
.doppel_box_bereich .rechts {
	float:left;
	width:100%;
	height:auto;
	position:relative;
	padding:0px;
	margin:20px 0% 0px 0%;
	font-size:17px;
	line-height:32px;
}
.doppel_box_bereich .links img {
	width:100%;
	height:auto;
	display:block;
}
.doppel_box_bereich .rechts .kreis {
	position:relative;
	width:100%;
	height:auto;
	border-radius:10px;
	padding:30px 25px;
	background:#ffffff;
	color:#000000;
	font-weight:400;
	text-align:center;
	transform:rotate(0deg);
	border:solid 5px #ffffff;
}

.dsglink {
	float:left;
	width:100%;
	height:auto;
	line-height:28px;
	display:flex;
	align-content:center;
	align-items:center;
	justify-content:flex-start;
}
.dsglogo {
	width:85px;
	height:auto;
	display:inline-block;
	margin:0 5px 0 0;
}
.content_box .links {
	float:left;
	width:100%;
	height:auto;
	margin:0 0 0 0;
}
.content_box .links a {
	outline:none;
	text-decoration:none;
	color: #272e64;
}
.content_box .links a:hover {
	text-decoration:underline;
	cursor:pointer;
}
.content_box .rechts {
	float:left;
	width:100%;
	height:auto;
	margin:20px 0 0 0;
}
.content_box .rechts img {
	width:100%;
	height:auto;
	display:block;
	transform:rotate(2deg);
	box-shadow:4px 4px 3px rgba(0,0,0,0.25);
}
.home_bildleiste {
	float:left;
	width:100%;
	height:auto;
	margin:40px 0 0px 0;
}
.home_bildleiste .bild {
	float:left;
	width:48%;
	height:auto;
	margin:0 4% 20px 0;
}
.home_bildleiste .bild img {
	width:100%;
	height:auto;
	display:block;
}
.home_bildleiste .bild:nth-of-type(2n+2) { margin:0 0 20px 0; }


.home_bildleiste_big {
	float:left;
	width:100%;
	height:auto;
	margin:20px 0 0px 0;
}
.home_bildleiste_big img {
	width:100%;
	height:auto;
	display:block;
}

.doppelbilder {
	float:left;
	width:100%;
	height:auto;
	margin:20px 0 40px 0;
}
.doppelbilder a {
	float:left;
	width:100%;
	height:auto;
	object-fit:cover;
	margin:0 0 20px 0;
}
.doppelbilder .bild {
	float:left;
	width:100%;
	height:auto;
	object-fit:cover;
	margin:0 0 0 0;
	transition:all 0.3s ease;
}
.doppelbilder_more {
	float:left;
	width:100%;
	height:auto;
	margin:-20px 0 40px 0;
}
.doppelbilder_more a {
	float:left;
	width:100%;
	height:auto;
	object-fit:cover;
	margin:0 0 20px 0;
}
.doppelbilder_more .bild {
	float:left;
	width:100%;
	height:auto;
	object-fit:cover;
	margin:0 0 0 0;
	transition:all 0.3s ease;
}


.eintrittfrei {
	float:left;
	width:180px;
	height:180px;
	background:#dc0000;
	border-radius:50%;
	margin:15px calc(50% - 90px) 10px calc(50% - 90px);
	padding:44px 15px 10px 15px;
	font-size:16px;
	line-height:24px;
	font-weight:600;
	color:#ffffff;
	text-align:center;
	transform:rotate(5deg) scale(1.0);
	transition:all 0.5s ease;
	box-shadow:4px 4px 2px rgba(0,0,0,0.3);
}
.eintrittfrei a {
	outline:none;
	color:#ffffff;
	text-decoration:none;
}
.eintrittfrei .big {
	float:left;
	width:100%;
	height:auto;
	font-size:24px;
	line-height:34px;
	margin:0 0 5px 0;
}

.eintrittfrei_absolute {
	position:absolute;
	right:10px;
	top:130px;
	width:130px;
	height:130px;
	background:#dc0000;
	border-radius:50%;
	margin:0;
	padding:32px 6px 10px 6px;
	font-size:14px;
	line-height:22px;
	font-weight:600;
	color:#ffffff;
	text-align:center;
	transform:rotate(5deg) scale(1.0);
	transition:all 0.5s ease;
	box-shadow:4px 4px 2px rgba(0,0,0,0.3);
}
.eintrittfrei_absolute a {
	outline:none;
	color:#ffffff;
	text-decoration:underline;
}
.galeriebilder {
	float:left;
	width:100%;
	height:auto;
	margin:0 0 0 0;
}
.galeriebilder a {
	float:left;
	width:48%;
	height:auto;
	object-fit:cover;
	margin:0 4% 4% 0;
}
.galeriebilder .bild {
	float:left;
	width:100%;
	height:100px;
	object-fit:cover;
	margin:0;
	transition:all 0.2s ease;
}
.galeriebilder a:nth-of-type(2n+2) { margin:0 0 4% 0; }

.galerie_titeltext {
	float:left;
	width:100%;
	height:auto;
	font-size:18px;
	line-height:26px;
	font-weight:600;
	color:#272e64;
	margin:20px 0 12px 0;
}
.galeriebildtext {
	float: left;
	width: 100%;
	height: auto;
	font-size: 12px;
	line-height: 18px;
	font-weight: 400;
	color: #000000;
	text-decoration: none;
}
.presse_bereich {
	float:left;
	width:100%;
	height:auto;
	border-bottom:solid 1px #cccccc;
	padding:0 0 5px 0;
	margin:0 0 30px 0;
}
.presse_bereich h3 {
	float:left;
	width:100%;
	height:auto;
	font-size:18px;
	line-height:26px;
	font-weight:600;
	color:#000000;
	margin:0 0 6px 0;
}
.presse_bereich h4 {
	float:left;
	width:100%;
	height:auto;
	font-size:16px;
	line-height:26px;
	font-weight:600;
	color:#272e64;
	margin:4px 0 4px 0;
}
.presse_bereich a {
	line-height:28px;
}
.presse_bereich a img {
	float:left;
	width:20px;
	height:auto;
	margin:6px 6px 0 0;
}
.pressebild {
	float:right;
	width:100%;
	height:auto;
	margin:0 0 20px 0px;
}
.links_bereich {
	float:left;
	width:100%;
	height:auto;
	margin:0 0 20px 0;
}
.links_bereich a {
	line-height:28px;
}
.links_bereich a:hover {
	color:#272e64;
}
.links_bereich a img {
	float:left;
	width:18px;
	height:auto;
	margin:9px 10px 0 0;
}

.map {
	float:left;
	width:100%;
	height:450px;
	margin:0px 0 0 0;
}
.map iframe {
	width:100%;
	height:450px;
}
.map_nocookie {
	float:left;
	width:100%;
	height:350px;
	text-align:center;
	font-size:14px;
	line-height:24px;
	font-weight:normal;
	margin:0 0 50px 0;
	background:#cccccc;
	padding:150px 0 0 0;
}
.kontaktbild {
	display:none;
}

.doppel_box_bereich .text2025 {
    float: left;
    width: 96%;
    height: auto;
    margin: 10px 2% 10px 2%;
    color: #ffffff;
}
.doppel_box_bereich .text2025 h2 {
    float: left;
    width: 100%;
    height: auto;
    color: #008000;
    font-weight: 600;
    font-style: italic;
    font-size: 20px;
    line-height: 30px;
    margin: 0 0 22px 0;
}
.doppel_box_bereich .text2025 p {
    float: left;
    width: 100%;
    height: auto;
    color: #ffffff;
    font-weight: 400;
    font-size: 16px;
    line-height: 28px;
    margin: 0 0 20px 0;
}

.doppel_box_bereich .kreis2025 {
    float: left;
    width: 96%;
    height: auto;
    margin: 10px 2% 10px 2%;
    position: relative;
    text-align: center;
}
.doppel_box_bereich .kreis2025 .kreistop {
     float: left;
    width: 90%;
    height: auto;
    margin: 0px 5% 5px 5%;
    text-align: center;
    font-size: 14px;
    font-weight: 400;
    padding: 0 25px 10px 25px;
    border-bottom: solid 1px #cccccc;
}
.doppel_box_bereich .kreis2025 .kreisklein {
    float: none;
    width: 340px;
    height: 340px;
    padding: 20px 30px 10px 30px;
    background: #ffffff;
    border: solid 4px #c03436;
    border-radius: 50%;
    text-align: center;
    font-size: 15px;
    line-height: 24px;
    font-weight: 600;
    margin: 0 auto;
    transform: rotate(5deg) scale(0.95);
    -webkit-animation: kreisklein_ani 6.0s infinite ease;
	-moz-animation: kreisklein_ani 6.0s infinite ease;
	-o-animation: kreisklein_ani 6.0s infinite ease;
	animation: kreisklein_ani 6.0s infinite ease;
}
.doppel_box_bereich .kreis2025 .kreisklein .datum {
    float: left;
    width: 100%;
    height: auto;
    margin: 5px 0 15px 0;
    text-align: center;
    font-size: 20px;
    font-weight: 400;
}

#flex-container {
	display: -webkit-flex;
   display: -ms-flex;
   display: flex;
   -webkit-flex-wrap: wrap;
   -ms-flex-wrap: wrap;
   flex-wrap: wrap;
}

.menu_icon {
	position:absolute;
	right:0px;
	top:32px;
	width:58px;
	height:38px;
	background:#ffffff;
	display:block;
	z-index:999;
	transition:all 0.3s ease;
}
.menu_icon.active {
	position:fixed;
	right:0px;
	top:32px;
	width:58px;
	height:38px;
	display:block;
	z-index:999;
	background:#ffffff;
	transition:all 0.3s ease;
}
.menu_icon label {
	display:flex;
	flex-direction:column;
	width:38px;
	cursor:pointer;
	padding:2px 0px;
	transition:all 0.2s linear;
}
.menu_icon label span{
  background: #272e64;
  border-radius:2px;
  height:2px;
  margin: 4px 0;
  transition: .4s  cubic-bezier(0.68, -0.6, 0.32, 1.6);
}
.menu_icon label span:nth-child(1){
  width:100%;
}
.menu_icon label span:nth-child(2){
  width:100%;
}
.menu_icon label span:nth-child(3){
  width:100%;
}
.menu_icon input[type="checkbox"]{
  display:none;
}
.menu_icon input[type="checkbox"]:checked ~ span:nth-of-type(1){
  transform-origin:bottom;
  transform:rotatez(45deg) translate(8px,8px);
  width:100%;
}
.menu_icon input[type="checkbox"]:checked ~ span:nth-of-type(2){
  width:0%;
  background:#ffffff;
}
.menu_icon input[type="checkbox"]:checked ~ span:nth-of-type(3){
  transform-origin:top;
  transform:rotatez(-45deg) translate(5px,-5px);
  width:100%;
}
.mobilenav {
	position:fixed;
	right:0;
	top:0;
	width:100%;
	height:100vh;
	padding:60px 50px 30px 50px;
	background: url(../img/backround008.jpg) no-repeat 50% 50%;
	background-size:cover;
	z-index:990;
	opacity:0;
	transition:all 0.3s ease-out;
	transform:translateY(-120vh);
}
.mobilenav.active {
	position:fixed;
	right:0;
	top:0;
	width:100%;
	height:100vh;
	padding:60px 50px 30px 50px;
	background: url(../img/backround008.jpg) no-repeat 50% 50%;
	background-size:cover;
	z-index:990;
	opacity:1;
	transition:all 0.5s ease-in;
	transform:translateY(0%);
	overflow-y:scroll;
}
.mobilenav ul {
	list-style:none;
	float:left;
	width:100%;
	height:auto;
	margin:0;
	padding:0;
	font-family: 'Playfair Display', serif;
}
.mobilenav ul li {
	float:left;
	width:100%;
	height:auto;
	margin:7px 0;
}
.mobilenav ul li a {
	outline:none;
	color:#000000;
	text-decoration:none;
	font-size:24px;
	line-height:36px;
	font-weight:600;
	transition:all 0.2s ease;
	font-family: 'Playfair Display', serif;
	text-shadow:1px 1px 1px rgba(255,255,255,0.95);
}
.mobilenav ul li a:hover {
	color:#272e64;
}
.mobilenav ul .sec-lefel {
	padding:0 0 0 10px;
	font-size:15px;
	font-weight:400;
	margin:4px 0 6px 0;
}
.mobilenav ul .sec-lefel a {
	font-size:14px;
	font-weight:400;
	line-height:22px;
}


.footer {
	float:left;
	width:100%;
	height:auto;
	background:#272e64;
	padding:35px 0 60px 0;
}
.footer .kontaktdaten {
	float:left;
	width:100%;
	height:auto;
	font-size:16px;
	line-height:28px;
	font-weight:400;
	color:#ffffff;
}
.footer .kontaktdaten h1 {
	float:left;
	width:100%;
	height:auto;
	margin:0;
	padding:0;
	font-size:15px;
	line-height:26px;
	font-weight:600;
}
.footer .zeiten {
	float:left;
	width:100%;
	height:auto;
	font-size:15px;
	line-height:26px;
	font-weight:400;
	color:#ffffff;
	margin:30px 0 0 0;
}
.footer .zeiten a {
	text-decoration:none;
	color:#e23131;
	outline:none;
}
.footer .zeiten a:hover {
	text-decoration:underline;
	cursor:pointer;
}
.footer .tel {
	color:#e23131;
	letter-spacing:1px;
}
.footer .rechtliches {
	float:left;
	width:100%;
	height:auto;
	font-size:15px;
	line-height:32px;
	font-weight:400;
	color:#ffffff;
	margin:30px 0 0 0%;
	text-align:left;
}
.footer .rechtliches a {
	text-decoration:underline;
	color:#ffffff;
	outline:none;
}
.footer .rechtliches a:hover {
	text-decoration:underline;
	cursor:pointer;
	color:#e23131;
}

.error {
	float:left;
	width:100%;
	height:auto;
	min-height:260px;
	margin:50px 0;
	font-size:16px;
	line-height:26px;
	color: #df1a1a;
}
.error_block {
	float:left;
	width:100%;
	height:auto;
	background:#ffffff;
	border-radius:10px;
	padding:15px;
}
