@font-face {font-family: "FuturaPTCond-ExtraBold";
    src: url("/resources/fonts/FuturaPTCond-Medium.woff2") format("woff2");
}

@font-face {font-family: "FuturaPTCond-Medium";
    src: url("/resources/fonts/FuturaPTCond-Medium.woff2") format("woff2");
}





/* ===== ALLGEMEIN ===== */

* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

html {
	height: 100%;
}

body {
	font-family: 'Open Sans', sans-serif;
	background: none;
	height: 100%;
	overflow-x: hidden;
}

p {
	font-size: 12pt;
	margin-bottom: 0.5em;
	line-height: 1.25em;
	color: #000000;
}

b, strong {
	font-weight: bold;
}

sub, sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sup {
	top: -0.5em;
}

sub {
	bottom: -0.25em;
}

a:link, a:active, a:visited, a:hover {
	color: #ae1916;
	text-decoration: none;
}

a:hover {
	text-decoration: underline;
}

h1, h2.strong {
	font-family: 'FuturaPTCond-ExtraBold';
	padding: 0.25em 0.5em;
	background-color: #ae1916;
	color: #ffffff !important;
	position: relative;
	display: inline;
	line-height: 1.5em;
	font-size: 38pt;
	font-weight: bold;
}

@media screen and (max-width: 800px) {
	h1, h2.strong {
		font-size: 5vh;
	}
}

h2 {
	font-size: 28pt;
	font-weight: bold;
	margin-bottom: 0.5em;
	line-height: 1.25em;
}

h3, .redactor-styles h3 {
	font-size: 25pt;
	font-weight: bold;
	margin-bottom: 0.5em;
	line-height: 1.25em;
}

h4 {
	font-size: 18pt;
	font-weight: bold;
	margin-bottom: 0.5em;
	line-height: 1.25em;
}

h5 {
	font-size: 15pt;
	font-weight: bold;
	margin-bottom: 0.5em;
	line-height: 1.25em;
}

h6 {
	font-size: 12pt;
	font-weight: bold;
	margin-bottom: 0.5em;
	line-height: 1.25em;
}

ul {
	list-style-type: none;
	list-style-position: inside;
}

ol {
	list-style-type: decimal;
	list-style-position: inside;
}

li  {
	position:relative;
	margin-left: 1em;
	line-height: 1.25em;
}

li:before  {
	content: "\2022";
	line-height: 0;
	position: absolute;
	top: 0.625em;
	left: -1em;
}

img {
	max-width: 100%;
}

.container {
	padding: 2em 0;
	position: relative;
	width: 100%;
	z-index: 10;
	background-color: #ffffff;
	text-align: center;
}

.row {
	display: inline-block;
	width: calc(100% - 10em);
	max-width: 960px;
	text-align: left;
}

.half {
	width: 50%;
}

.right {
	float: right;
	padding-left: 5em;
	border-left: 5px solid #efefef;
}

.left {
	float: left;
	padding-right: 5em;
}

a.button, a.button:hover {
	color: white;
	text-decoration: none;
	text-align: center;
}

a.button > div {
	display: inline-block;
	background-color: #ae1916;
	padding: 0.75em;
	font-size: 14pt;
	font-weight: bold;
}

@media screen and (max-width: 800px) {
	.container {
		width: 100%;
	}
	
	.container:before, .container:after {
		min-width: 5%;
		width: 1.5em;
	}
	
	.row {
		width: calc(100% - 3em);
		max-width: 90%;
	}
}





/* ===== REDACTOR ===== */

.redactor-output .text-left {
	text-align: left;
}

.redactor-output .text-right {
	text-align: right;
}

.redactor-output .text-center {
	text-align: center;
}

.redactor-output .text-justify {
	text-align: justify;
}

.redactor-output h1 {
	font-weight: bold;
	margin: 0 0 0.75em;
	font-size: 25pt;
}

.redactor-output h2 {
	font-weight: bold;
	margin: 0 0 0.75em;
	font-size: 20pt;
}

.redactor-output h3 {
	font-weight: bold;
	margin: 0 0 0.75em;
	font-size: 18pt;
}

.redactor-output h4 {
	font-weight: bold;
	margin: 0 0 0.75em;
	font-size: 16pt;
}

.redactor-output h5 {
	font-weight: bold;
	margin: 0 0 0.75em;
	font-size: 14pt;
}

.redactor-output h6 {
	font-weight: bold;
	margin: 0 0 0.75em;
	font-size: 12pt;
}

.redactor-output table {
	width: 100%;
}

.redactor-output td {
	border: 1px solid black;
	padding: 0.25em;
}

.text-center {
	text-align: center;
}

.text-right {
	text-align: right;
}





/* ===== RASTER ===== */

.grid_col {padding: 0; float: left;}

.col_100_1 {width: 100%}

.col_50-50_1 {width: calc(((100% - 4em) / 2) + 2em); padding-right: 2em;}
.col_50-50_2 {width: calc(((100% - 4em) / 2) + 2em); padding-left: 2em;}

.col_33-33-33_1 {width: calc(((100% - 8em) / 3) + 2em); padding-right: 2em;}
.col_33-33-33_2 {width: calc(((100% - 8em) / 3) + 4em); padding-left: 2em; padding-right: 2em;}
.col_33-33-33_3 {width: calc(((100% - 8em) / 3) + 2em); padding-left: 2em;}

.col_25-25-25-25_1 {width: calc(((100% - 12em) / 4) + 2em); padding-right: 2em;}
.col_25-25-25-25_2 {width: calc(((100% - 12em) / 4) + 4em); padding-left: 2em; padding-right: 2em;}
.col_25-25-25-25_3 {width: calc(((100% - 12em) / 4) + 4em); padding-left: 2em; padding-right: 2em;}
.col_25-25-25-25_4 {width: calc(((100% - 12em) / 4) + 2em); padding-left: 2em;}

.col_50-25-25_1 {width: calc(((100% - 8em) / 2) + 2em); padding-right: 2em;}
.col_50-25-25_2 {width: calc(((100% - 8em) / 4) + 4em); padding-left: 2em; padding-right: 2em;}
.col_50-25-25_3 {width: calc(((100% - 8em) / 4) + 2em); padding-left: 2em;}

.col_25-50-25_1 {width: calc(((100% - 8em) / 4) + 2em); padding-right: 2em;}
.col_25-50-25_2 {width: calc(((100% - 8em) / 2) + 4em); padding-left: 2em; padding-right: 2em;}
.col_25-50-25_3 {width: calc(((100% - 8em) / 4) + 2em); padding-left: 2em;}

.col_25-25-50_1 {width: calc(((100% - 8em) / 4) + 2em); padding-right: 2em;}
.col_25-25-50_2 {width: calc(((100% - 8em) / 4) + 4em); padding-left: 2em; padding-right: 2em;}
.col_25-25-50_3 {width: calc(((100% - 8em) / 2) + 2em); padding-left: 2em;}

.col_66-33_1 {width: calc(((100% - 4em) * (2 / 3)) + 2em); padding-right: 2em;}
.col_66-33_2 {width: calc(((100% - 4em) / 3) + 2em); padding-left: 2em;}

.col_33-66_1 {width: calc(((100% - 4em) / 3) + 2em); padding-right: 2em;}
.col_33-66_2 {width: calc(((100% - 4em) * (2 / 3)) + 2em); padding-left: 2em;}

@media screen and (max-width: 800px) {
	.grid_col {
		width: 100% !important;
		padding: 0 !important;
		margin-bottom: 1em;
	}
}





/* ===== HEADER ===== */

.header {
	width: 100%;
	height: 8em;
	background-color: white;
	color: black;
	padding: 1em 2.5em;
	text-align: right;
}

.header:before {
	width: 5%;
}

.header .row {
	min-width: 100%;
}

.logo {
	height: 6em;
	float: left;
}

.mobile-logo {
	display: none;
}

@keyframes zoom-out {
	0%     {max-height: 15vh;}
	100%   {max-height: 2.5em;}
}

@keyframes zoom-in {
	0%     {max-height: 2.5em;}
	100%   {max-height: 15vh;}
}

.logo-zoom-out {
	animation-name: zoom-out;
	animation-duration: 0.75s;
}

.logo-zoom-in {
	animation-name: zoom-in;
	animation-duration: 0.75s;
}

@media screen and (max-width: 1350px) {
	.header {
		height: 13em;
	}
	
	.logo {
		float: none;
		margin-bottom: 1em;
	}
}

@media screen and (max-width: 1200px) {
	.header {
		padding: 1em 0;
		height: auto;
	}
	
	.logo {
		display: none;
	}
	
	.mobile-logo {
		display: initial;
		max-width: 100%;
		max-height: 15vh;
		z-index: 10;
	}
}





/* ===== TRENNLINIE ===== */

.trennlinie {
	width: 100vw;
	height: 10px;
	position: relative;
}





/* ===== LINKKACHELN ===== */

.linkkachel {
	width: 10vw;
	height: 10vw;
	background-color: #ae1916;
	text-align: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin: 0 1em;
}

.linkkachel:hover {
	width: calc(10vw - 0.5em);
	height: calc(10vw - 0.5em);
	margin: 0.25em 1.25em;
}

@media screen and (max-width: 800px) {
	.linkkachel {
		width: 35vw;
		height: 35vw;
	}
	
	.linkkachel:hover {
		width: calc(40vw - 0.5em);
		height: calc(40vw - 0.5em);
		margin: 0.25em 1.25em;
	}
}






/* ===== PARALLAX ===== */

.parallax-window {
    background: transparent;
	position: relative;
	width: 100%;
}

.parallax-slider {
	filter: blur(3px);
	height: auto !important;
}

.parallax-content {
	position: relative;
	transform: translate(-50%,-50%);
	top: 50%;
	left: 50%;
	text-align: center;
}

@media screen and (max-width: 800px) {
	.parallax-frontpage {
		height: 100vh !important;
	}
}





/* ===== SARTSEITE===== */

.frontpage-pictures .image {
	display: block;
	overflow: hidden;
}

.frontpage-pictures img {
	max-width: none;
	position: relative;
	transform: translate(-50%,0);
	left: 50%;
	height: 45vh;
}





/* ===== KALENDER (STARTSEITE) ===== */

.calendar-row {
	max-width: 80%;
}

.calendar_wrapper {
	width: calc((100% - 9vw) / 3);
	margin: 2em 1.5vw 0;
	padding: 0 2em;
	text-align: left;
	display: inline-block;
}

.calendar_positioning {
	display: inline-flex;
	justify-content: center;
	width: 100%;
}

.calendar_positioning_inside {
	display: inline-flex;
	width: 100%;
}

.calendar {
	width: 35%;
	height: 60%;
	padding: 1.5em 0 1em;
	background-image: url("img/calendar.svg");
	background-position: top center;
	background-repeat: no-repeat;
	background-size: contain;
	float: left;
	text-align: center;
	font-weight: bold;
}

.termin_titel {
	width: 65%;
	padding: 1em;
	float: left;
	text-align: left;
}

@media screen and (max-width: 1900px) {
	.calendar_positioning {
		display: flex;
		justify-content: space-between;
		width: 100%;
	}
	
	.calendar_positioning_inside {
		display: block;
	}
	
	.calendar {
		width: 100%;
		margin-bottom: 1em;
	}
	
	.termin_titel {
		width: 100%;
		padding: 1em 0;
	}	
}

@media screen and (max-width: 800px) {
	.calendar_positioning {
		display: block;
	}
	
	.calendar_wrapper {
		width: 100%;
		margin: 1em 0;
		padding: 0;
	}
}





/* ===== PERSONEN ===== */

.person-wrapper {
	display: flex;
	width: 100%;
	justify-content: space-between;
}

.person-image {
	width: 30%;
	max-width: 250px;
	flex-shrink: 0;
}

.person-description {
	width: 65%;
}





/* ===== FAQs ===== */

.accordion {
	display: inline-block;
	position: relative;
	text-align: left;
	width: 100%;
	max-width: 960px;
	box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}

.accordion-question {
	background-color: #D23430;
	color: white;
	padding: 1em 3em 1em 1em;
	cursor: pointer;
}

.accordion-question h5 {
	margin-bottom: 0;
	line-height: 1em;
}

.accordion-answer {
	padding: 0 1em;
	height: 0px;
	overflow: hidden;
}

.accordion-image {
	position: absolute;
	height: 15pt;
	top: 1em;
	right: 1em;
	cursor: pointer;
}

@keyframes accordion-open {
	0% {
		height: 0px;
		padding: 0 1em;
	}
	
	100% {
		height: auto;
		padding: 1em;
	}
}

@keyframes accordion-close {
	0% {
		height: auto;
		padding: 1em;
	}
	
	100% {
		height: 0px;
		padding: 0 1em;
	}
}

#accordion-open {
	animation-name: accordion-open;
	animation-duration: 0.2s;
	height: auto;
	padding: 1em;
	overflow: auto;
}

#accordion-close {
	animation-name: accordion-close;
	animation-duration: 0.2s;
	height: 0px;
	padding: 0 1em;
	overflow: hidden;
}





/* ===== TERMINE ===== */

.event_wrapper {
	text-align: center;
	margin: 1em 0;
}

.event_image {
	max-width: 960px;
	margin-bottom: 1em;
}





/* ===== YFORM-FORMULARE ===== */

.rex-yform label {
	width: 100%;
	font-size: 10pt;
}

.rex-yform select, .rex-yform input, .rex-yform textarea, .rex-yform button {
	width: 100%;
	border: none;
	background-color: #efefef;
	padding: 0.75em;
	margin: 0.5em 0 1em;
	border-radius: 0 !important;
}

 .rex-yform textarea {
	resize: none;
}

.rex-yform button {
	background-color: #bbbbbb;
	font-family: 'PT Sans', sans-serif;
}

.rex-yform > .alert {
	width: 100%;
	padding: 0.5em;
	border-radius: 5px;
	overflow: hidden;
	background-color: rgba(245,215,110,0.4);
	line-height: 1.5em;
	margin-bottom: 1em;
}

.checkbox label {
	text-align: center;
	margin: 0.5em 0 1em;
	float: left;
}

.checkbox input {
	width: auto;
	margin: 0;
}





/* ===== FOOTER / DATENSCHUTZ / IMPRESSUM =====*/

.footer {
	width: 100%;
	background-color: #333333;
	padding: 1em 0;
	color: #ffffff;
}

.footer a:link, .footer a:hover {
	color: #ffffff;
}

.impressum {
	float: left;
	width: 100%;
}

.impressum_text {
	width: 100%;
	float: left;
	padding: 2em 0;
	background-color: #ffffff;
}

@media screen and (max-width: 800px) {
	.footer {
		padding: 1em 1.5em;
	}
	
	.impressum_text {
		padding: 1em 1.5em;
	}
}





/* ===== MENÜ ===== */

.menu {
	height: 5em;
	padding: 1.25em 0;
	float: right;
}

.menu > .menuitem {
	height: 100%;
	padding: 0 1em;
	float: left;
}

.menu > .menuitem > a:link, .menu > .menuitem > a:active, .menu > .menuitem > a:visited {
	line-height: 2.5em;
	font-size: 13pt;
	text-decoration: none;
	color: #ae1916;
}

.menu > .current-page {
	background-color: #ae1916;
}

.menu > .current-page > a:link, .menu > .current-page > a:active, .menu > .current-page > a:visited {
	color: #ffffff;
}

.menu > .menuitem > a:hover {
	text-decoration: underline;
}

.mobile-menu {
	float: left;
	display: none;
	width: 100%;
	padding: 0.5em 0 0;
}

.mobile-menu .menuitem {
	height: 2em;
	padding: 0.5em 2em;
	float: left;
	width: 100%;
	text-align: center;
	font-size: 15pt;
}

.mobile-menu .menuitem > a, .mobile-menu .menuitem > a:link, .mobile-menu .menuitem > a:active, .mobile-menu .menuitem > a:visited {
	line-height: 1em;
	font-size: 15pt;
	text-decoration: none;
	color: black;
}

@media screen and (max-width: 1350px) {
	.menu {
		text-align: center;
		float: none;
	}
	
	.menu > .menuitem {
		display: inline-block;
		float: none;
	}
}

@media screen and (max-width: 1200px) {
	.menu {
		display: none;
	}
	
	.mobile-menu {
		display: initial;
	}
}





/* ===== MAILCHIMP ===== */

/* MailChimp Form Embed Code - Classic - 12/17/2015 v10.7 */
#mc_embed_signup {font-family: 'Open Sans', sans-serif;}
#mc_embed_signup form {display:block; position:relative; text-align:left; padding:10px 0 10px 3%}
#mc_embed_signup h2 {font-weight:bold; padding:0; margin:15px 0; font-size:1.4em;}
#mc_embed_signup input {border: 1px solid #ABB0B2; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px;}
#mc_embed_signup input[type=checkbox]{-webkit-appearance:checkbox;}
#mc_embed_signup input[type=radio]{-webkit-appearance:radio;}
#mc_embed_signup input:focus {border-color:#333;}
#mc_embed_signup .button {clear:both; background-color: #aaa; border: 0 none; border-radius:4px; transition: all 0.23s ease-in-out 0s; color: #FFFFFF; cursor: pointer; display: inline-block; font-size:15px; font-weight: normal; height: 32px; line-height: 32px; margin: 0 5px 10px 0; padding: 0 22px; text-align: center; text-decoration: none; vertical-align: top; white-space: nowrap; width: auto;}
#mc_embed_signup .button:hover {background-color:#777;}
#mc_embed_signup .small-meta {font-size: 11px;}
#mc_embed_signup .nowrap {white-space:nowrap;}

#mc_embed_signup .mc-field-group {clear:left; position:relative; width:96%; min-height:50px;}
#mc_embed_signup .size1of2 {clear:none; float:left; display:inline-block; width:46%; margin-right:4%;}
* html #mc_embed_signup .size1of2 {margin-right:2%; /* Fix for IE6 double margins. */}
#mc_embed_signup .mc-field-group label {display:block; margin-bottom:3px;}
#mc_embed_signup .mc-field-group input {width: 100%; border: none; background-color: #efefef; padding: 0.75em; margin: 0.5em 0 1em; border-radius: 0 !important;}
#mc_embed_signup .mc-field-group select {display:inline-block; width:99%; padding:5px 0; margin-bottom:2px;}

#mc_embed_signup .datefield, #mc_embed_signup .phonefield-us{padding:5px 0;}
#mc_embed_signup .datefield input, #mc_embed_signup .phonefield-us input{display:inline; width:60px; margin:0 2px; letter-spacing:1px; text-align:center; padding:5px 0 2px 0;}
#mc_embed_signup .phonefield-us .phonearea input, #mc_embed_signup .phonefield-us .phonedetail1 input{width:40px;}
#mc_embed_signup .datefield .monthfield input, #mc_embed_signup .datefield .dayfield input{width:30px;}
#mc_embed_signup .datefield label, #mc_embed_signup .phonefield-us label{display:none;}

#mc_embed_signup .indicates-required {text-align:right; font-size:11px; margin-right:4%;}
#mc_embed_signup .asterisk {color:#e85c41; font-size:150%; font-weight:normal; position:relative; top:5px;}     
#mc_embed_signup .clear {clear:both;}

#mc_embed_signup .mc-field-group.input-group ul {margin:0; padding:5px 0; list-style:none;}
#mc_embed_signup .mc-field-group.input-group ul li {display:block; padding:3px 0; margin:0;}
#mc_embed_signup .mc-field-group.input-group label {display:inline;}
#mc_embed_signup .mc-field-group.input-group input {display:inline; width:auto; border:none;}

#mc_embed_signup div#mce-responses {float:left; top:-1.4em; padding:0em .5em 0em .5em; overflow:hidden; width:90%; margin: 0 5%; clear: both;}
#mc_embed_signup div.response {margin:1em 0; padding:1em .5em .5em 0; font-weight:bold; float:left; top:-1.5em; z-index:1; width:80%;}
#mc_embed_signup #mce-error-response {display:none;}
#mc_embed_signup #mce-success-response {color:#529214; display:none;}
#mc_embed_signup label.error {display:block; float:none; width:auto; margin-left:1.05em; text-align:left; padding:.5em 0;}

#mc-embedded-subscribe {clear:both; width:auto; display:block; margin:1em 0 1em 5%;}
#mc_embed_signup #num-subscribers {font-size:1.1em;}
#mc_embed_signup #num-subscribers span {padding:.5em; border:1px solid #ccc; margin-right:.5em; font-weight:bold;}

#mc_embed_signup .content__gdpr {font-size: 9pt !important;}
#mc_embed_signup .content__gdpr p {font-size: 9pt !important;}
#mc_embed_signup .content__gdprLegal {font-size: 9pt !important;}
#mc_embed_signup .content__gdprLegal p {font-size: 9pt !important;}

#mc_embed_signup #mc-embedded-subscribe-form div.mce_inline_error {display:inline-block; margin:2px 0 1em 0; padding:5px 10px; background-color:rgba(255,255,255,0.85); -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; font-size:14px; font-weight:normal; z-index:1; color:#e85c41;}
#mc_embed_signup #mc-embedded-subscribe-form input.mce_inline_error {border:2px solid #e85c41;}