/* -- TABLE OF CONTENT
 *
 * 1.1 General Terms
 * 1.2 Core
 * 1.3 Content-Elements
 * 1.4 Font-Styles
 * 2.1 Breakpoint 576px
 * 3.1 Breakpoint 768px
 * 4.1 Breakpoint 992px
 * 5.1 Breakpoint 1200px
 *
 *
 *
 * -- Colors
 * 
 * Primary (lila): #bd054d | hover: #8a0437
 * Secondary (gelb): #ffd548 | hover: #c99700
 * Tertiary (dunkelblau): #131f53 | hover: #080c21 
 *
--------------------------------------------------------- */

@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 400;
  src: local(''),
       url('../fonts/oswald-v41-latin-regular.woff2') format('woff2'), 
       url('../fonts/oswald-v41-latin-regular.woff') format('woff'); 
}
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 700;
  src: local(''),
       url('../fonts/oswald-v41-latin-700.woff2') format('woff2'), 
       url('../fonts/oswald-v41-latin-700.woff') format('woff'); 
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: local(''),
       url('../fonts/roboto-v29-latin-regular.woff2') format('woff2'), 
       url('../fonts/roboto-v29-latin-regular.woff') format('woff'); 
}
@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 400;
  src: local(''),
       url('../fonts/roboto-v29-latin-italic.woff2') format('woff2'), 
       url('../fonts/roboto-v29-latin-italic.woff') format('woff'); 
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  src: local(''),
       url('../fonts/roboto-v29-latin-700.woff2') format('woff2'), 
       url('../fonts/roboto-v29-latin-700.woff') format('woff'); 
}



/* -- General Terms
--------------------------------------------------------- */
html, body {
	position: relative;
	background-color: #dcdcdc;
	line-height: 150%;
	font-family: 'Oswald', sans-serif;
	text-rendering: optimizeLegibility;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	color: #131f53;
}
.wrapper {
	margin: 0 auto;
	max-width: 1400px;
	position: relative;
	background-color: #fff;
	overflow: hidden;
}
img {
    max-width: 100%;
    height: auto;
}
.container-fluid.p-0 {
	padding: 0;
	overflow: hidden;
}
.mt-83333 {
	margin-top: 8.3333% !important;
}

/* -- Utility Classes
--------------------------------------------------------- */
.bg-primary,
a.teaser-box.bg-primary:hover,
a.teaser-box.bg-primary:focus {
	background-color: #bd054d !important;
}
button.bg-primary:hover,
button.bg-primary:focus {
	background-color: #8a0437 !important;
}
.bg-secondary,
a.teaser-box.bg-secondary:hover,
a.teaser-box.bg-secondary:focus {
	background-color: #ffd548 !important;
}
.bg-tertiary,
a.teaser-box.bg-tertiary:hover,
a.teaser-box.bg-tertiary:focus {
	background-color: #131f53 !important;
}
.bg-tertiary p {
	color: #e0e0e0 !important;
}
.text-primary {
	color: #bd054d !important;
	font-size: inherit;
	font-weight: inherit;
}
.text-secondary {
	color: #ffd548 !important;
	display: inline;
	font-size: inherit;
	font-weight: inherit;
}
.text-tertiary {
	color: #131f53 !important;
	display: inline;
	font-size: inherit;
	font-weight: inherit;
}
.text-xl {
	font-size: 2em;
	color: #bd054d;
}
span.text-primary,
span.text-secondary,
span.text-tertiary {
	display: inline;
}
.d-hidden {
	max-height: 0 !important;
	overflow: hidden !important;
	padding: 0 !important;
	opacity: 0 !important;
	visibility: hidden !important;
}


/* -- core
 * 
 * header.header
 * #bg-nav
 * #bg-spenden-btn
 * #logo
 * #nav-button
 * #header-spenden-btn
 * header.header nav
 * #main-nav
 * #meta-nav
 * #footer-spenden (Footer)
 * footer.footer
 * #footer-nav
 * #social-nav
 *
--------------------------------------------------------- */

/* -- header
--------------------------------------------------------- */
header.header {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 2;
}

/* -- #bg-nav
--------------------------------------------------------- */
#bg-nav {
	background-image: url(../gfx/bg-nav.png);
	background-position: right bottom;
	background-repeat: no-repeat;
}

/* -- #bg-spenden-btn
--------------------------------------------------------- */
#bg-spenden-btn {
	background-image: url(../gfx/bg-spenden.png);
	background-position: left bottom;
	background-repeat: no-repeat;
}

/* -- #logo
--------------------------------------------------------- */
#logo {
	position: absolute;
	background-color: #fff;
	z-index: 4;
	max-width: 150px;
	margin: 0 .875em;
}
#logo a {
	padding: .5em;
	display: block;
}

/* -- #nav-button
--------------------------------------------------------- */
#nav-button {
	background-color: transparent;
	color: #131f53;
	padding: 1em;
	margin-right: .75em;
	margin-bottom: 1em;
}

/* -- #header-spenden-btn
--------------------------------------------------------- */
#header-spenden-btn {
	background-color: transparent;
	color: #fff;
	padding: 1em;
	margin-right: .75em;
	width: 100%;
	text-align: center;
	margin-bottom: 1em;
	text-transform: uppercase;
}

/* -- header.header nav
--------------------------------------------------------- */
header.header nav {
	display: none;
	visibility: hidden;
	position: absolute;
	top: 100%;
	left: 0;
	background-color: #ffd548;
	margin-top: -1em;
	padding-top: 4em;
	box-shadow: 0 0 36px rgba(0,0,0,0.21);
	z-index: 3;
}
header.header nav.open {
	display: block;
	visibility: visible;
}

/* -- #main-nav
--------------------------------------------------------- */
#main-nav {
	list-style-type: none;
	padding: 0;
	margin: 0;
}
#main-nav > li {
	border-bottom: 1px solid rgba(0,0,0,0.1);
}
#main-nav > li > a,
#main-nav > li > .dropdown > button {
	display: block;
	padding: .5em 1rem;
	font-size: 1.25em;
	color: #131f53;
	margin: .25em 0;
	position: relative;
}
#main-nav > li button {
	cursor: pointer;
}
#main-nav > li > .dropdown > button {
	background-color: transparent;
	border: none;
	outline: none;
}
#main-nav > li > .dropdown .dropdown-toggle::after {
	display: none;
	visibility: hidden;
}
#main-nav > li > .dropdown .dropdown-menu {
	min-width: 240px;
	padding: 0;
}
#main-nav li.has-sub > a {
	padding-right: 3em;
}
#main-nav li a > .fa-fw {
	position: absolute;
	right: 1rem;
}
#main-nav li a:hover,
#main-nav li.selected > a {
	color: #bd054d;
}
#main-nav li ul {
	display: none;
	visibility: hidden;
	list-style-type: none;
	padding: 0;
	margin: 0 0 1em;
}
#main-nav li ul li a {
	display: block;
	padding: .5em 1rem;
	color: #131f53;
}
#main-nav li.selected ul {
	display: block;
	visibility: visible;
}

/* -- #meta-nav
--------------------------------------------------------- */
#meta-nav {
	list-style-type: none;
	padding: 0;
	margin: 2em 0 .5em;
}
#meta-nav li a {
	display: block;
	padding: .5em 1rem;
	font-size: .875em;
	color: #bd054d;
}

/* -- #footer-spenden (Footer)
--------------------------------------------------------- */
#footer-spenden {
	background-image: url(../gfx/bg-footer-spenden.gif);
	background-size: contain;
	background-position: top;
	background-repeat: no-repeat;
	padding: 5em 1em 2em;
	margin: 3em 0 0;
	background-color: #fadfe9;
}
#footer-spenden h3 {
	color: #131f53;
}
#footer-spenden .image-wrapper:not(.active),
#footer-spenden .text-wrapper:not(.active) {
	display: none;
}

/* -- footer
--------------------------------------------------------- */
footer.footer {
	background-color: #131f53;
	color: #fff;
	padding: 1em;
	font-size: .875em;
}
footer.footer h4 {
	color: #ffd548;
	font-size: 1.375em;
}
footer.footer a {
	color: #ffd548;
}
footer.footer a:hover {
	color: #c99700;
}

/* -- #footer-nav
--------------------------------------------------------- */
footer ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
}
footer ul li a {
	display: inline-block;
	margin-bottom: 1.75em;
}

/* -- #social-nav
--------------------------------------------------------- */
#social-nav {
	list-style-type: none;
	margin: 1rem 0 0;
	padding: 0 0 2rem;
	font-size: 2em;
	text-align: center;
	border-bottom: 3px solid #dcdcdc;
}
#social-nav li {
	display: inline-block;
	margin: 0 .5em;
}
#social-nav li a {
	color: #fff;
	margin-bottom: 0;
}
#social-nav li a:hover {
	color: #ccc;
}

/* -- #partner
--------------------------------------------------------- */
#partner {
	text-align: center;
    background-color: #efefef;
    padding: 1.5em 2em 0;
}
#partner img {
    -webkit-filter: grayscale(100%);
    filter: grayscale(100%);
    opacity: 0.8;
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
}
#partner img:hover {
    -webkit-filter: grayscale(0%);
    filter: grayscale(0%);
    opacity: 1;
}

/* -- Content-Elements
 * 
 * section - padding-handling
 * .teaser
 * .range-slider
 * .teaser-box
 * .box
 * .accordion
 * .newsletter
 * .projekte
 * .img-circle-with-bg // .img-circle
 * .data
 * 
 * blockquote
 * form styling
 * Carousel Fader
 * .carousel-multi
 * .ekko-lightbox
 * .pagination
 * badge25jahre
 * 
--------------------------------------------------------- */


/* -- section - padding-handling
--------------------------------------------------------- */
section {
	padding: 1em;
	margin: 2em 0;
}
section.left-right-content {
	padding: 0 1em;
	margin: 0;
}
section.left-right-content .col-12 {
	margin-top: 1em;
	margin-bottom: 1em;
}
section.left-right-content .col-12 > *:last-child {
	margin-bottom: 0 !important;
}
main > section:first-child:not(.teaser) {
	margin-top: 9em;
}
section.multiboxes .row.equal-height {
	margin-bottom: 0;
}

/* -- Weitere Content Elemente
--------------------------------------------------------- */
main > .frame-type-text,
main > .accordion,
main > .text-image,
main > .box,
main > .frame-type-textmedia figure.video-fluid {
	margin: 0 1em;
}
main > .frame-type-text:last-child,
main > .box:last-child {
	margin-bottom: 8.3333%;
}
main > .frame-type-text p {
	max-width: 850px;
}
main > .text-image {
	padding: 0;
}
main > .text-image > .row > .col-12 > h2 {
	margin-top: 0;
}
main > .left-right-content + .text-image {
	margin-top: 4.333%;
	margin-bottom: 4.333%;
}



/* -- .teaser
--------------------------------------------------------- */
.teaser {
	padding: 0;
	margin: 0;
}
.teaser .text-wrapper {
	padding: 1em 1em 4em;
	background-color: #bd054d;
}
.teaser .text-wrapper.without-slider {
	padding: 1em;
}
.teaser .text-wrapper > *:first-child {
	margin-top: 0;
}
.teaser .text-wrapper > *:last-child {
	margin-bottom: 0;
}
.teaser .text-wrapper h1,
.teaser .text-wrapper h1 span,
.teaser .text-wrapper h2,
.teaser .text-wrapper h3,
.teaser .text-wrapper p {
	color: #fff;
}
.teaser .text-wrapper a {
	color: #ffd548;
}
.teaser .text-wrapper a:hover {
	color: #c99700;
}

/* -- .range-slider
--------------------------------------------------------- */
.range-slider {
	background-color: #ffd548;
	margin: 1em 0;
}
.range-slider-form {
	margin: 0 0 1em;
    border: 2px solid #ffd548;
}
.teaser .range-slider {
	margin: -2em 1em 0;
	box-shadow: 0 8px 17px rgba(0,0,0,.2), 0 6px 20px rgba(0,0,0,.19);
}
.teaser .range-slider .spendenlink {
	min-height: 100%;
}
.range-slider .btn-primary {
	white-space: nowrap;
}
.slider-wrapper {
	padding: 1em;
}
.slider.slider-horizontal {
	width: 100%;
}
.slider.slider-horizontal .slider-track {
	height: 8px;
	margin-top: -4px;
	background-color: #ffe187;
	background-image: none;
	border-radius: 0;
	box-shadow: none;
}
.slider-selection {
	background-color: #fff;
	background-image: none;
	border-radius: 0;
	box-shadow: none;
}
.slider-handle {
	background-color: #131f53;
	background-image: none;
	box-shadow: 0;
	color: #fff;
	line-height: 16px;
	text-align: center;
	font-size: 1.125em;
}
.slider-handle .fa-caret-left,
.slider-handle .fa-caret-right {
	padding: 1px;
}
.slider .tooltip {
	z-index: 1;
	opacity: 1;
	border-radius: 0;
	font-family: 'Oswald', sans-serif;
}
.slider .tooltip.tooltip-min,
.slider .tooltip.tooltip-max {
	display: none;
	visibility: hidden;
}
.slider .tooltip-inner {
	background-color: #131f53;
	border-radius: 0;
}
.slider .tooltip-inner::after {
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -6px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 6px 6px 0 6px;
	border-color: #131f53 transparent transparent transparent;
	content: '';
}
.slider-tick {
	/*background-color: #ffe187;*/
    background-color: rgba(0,0,0,0);
	background-image: none;
    opacity: 1;
    box-shadow: none;
    -webkit-box-shadow: none;
    font-size: 2em;
    color: #ffe187;
    width: 1px;
    height: 1px;
}
.slider-tick svg {
    margin-left: -0.18em;
}
.slider-selection.tick-slider-selection,
.slider-tick.in-selection {
	background-color: white;
	background-image: none;
    color: white;
}

/* -- .teaser-box (.highlight)
--------------------------------------------------------- */
.teaser-box {
	position: relative;
	display: block;
	margin: 1em 0 2em;
	box-shadow: 0 2px 5px rgba(0,0,0,.26), 0 2px 10px rgba(0,0,0,.16);
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	background-color: #fff;
}
a.teaser-box:hover {
	transform: translateY(-5px);
	box-shadow: 0 5px 15px rgba(0,0,0,.15), 0 5px 16px rgba(0,0,0,.1);
}
.teaser-box .text-wrapper {
	display: block;
	padding: 1em;
}
.teaser-box .text-wrapper > *:first-child {
	margin-top: 0;
}
.teaser-box .text-wrapper > *:last-child {
	margin-bottom: 0;
}
.teaser-box .text-wrapper h3 {
	color: #bd054d;
}
a.teaser-box .text-wrapper h3 span {
	margin-bottom: 1em;
}

.teaser-box .additional-infos {
	display: block;
	padding: 0 1rem 1.5rem;
	font-size: .75em;
	font-weight: 400;
	text-transform: uppercase;
	color: #888;
}
.teaser-box .additional-infos > *:first-child {
	margin-top: 0;
}
.teaser-box .additional-infos > *:last-child {
	margin-bottom: 0;
}
.teaser-box .btn-circle {
	position: absolute;
	bottom: -1.5em;
	left: 50%;
	margin-left: -1.5em;
	box-shadow: 0 2px 5px rgba(0,0,0,.26), 0 2px 10px rgba(0,0,0,.16);
}
a.teaser-box:hover .btn-circle {
	background-color: #080c21;
	box-shadow: 0 5px 15px rgba(0,0,0,.15), 0 5px 16px rgba(0,0,0,.1);
}
a.teaser-box.bg-tertiary .btn-circle {
	background-color: #ffd548 !important;
	color: #131F53 !important;
}


/* .teaser-box.hightlight */
.teaser-box.highlight .text-wrapper {
	position: absolute;
	bottom: 0;
	width: 100%;
	padding-bottom: 2em;
	background-color: rgba(19,31,83,.8);
}
.teaser-box.highlight .text-wrapper h3 {
	color: #ffd548;
}
.teaser-box.highlight .text-wrapper h3 span {
	color: #fff;
	text-transform: uppercase;
	letter-spacing: 1px;
}
.teaser-box.highlight .btn-circle {
	position: absolute;
	font-size: 1.25em;
	bottom: -1.5em;
	left: 50%;
	margin-left: -1.5em;
	background-color: #bd054d;
}
a.teaser-box.highlight:hover .btn-circle {
	background-color: #8a0437;
}
.teaser-box .additional-icon {
	display: block;
	margin: 0 auto;
	width: 5em;
	height: 5em;
	padding: 1em;
	max-height: 5em;
	border-radius: 50%;
	background-color: #bd054d;
	text-align: center;
	transition: max-height .3s ease, opacity .3s ease;
    transition: max-height .3s ease, opacity .3s ease;
    transition: max-height .3s ease, opacity .3s ease;
}
.teaser-box .additional-icon img {
	width: auto !important;
	height: 100%;
	max-height: 3em;
	max-width: 3em;
}
.teaser-box .headline-wrapper {
	padding-top: 0;
	transition: padding-top .6s ease;
    transition: padding-top .6s ease;
    transition: padding-top .6s ease,padding-top .6s ease;
}
.teaser-box .headline-wrapper.show {
	padding-top: 1em;
	padding-bottom: 0 !important;
}
.teaser-box .text-wrapper p {
	font-weight: 400;
	color: #131f53;
}

/* -- .box
--------------------------------------------------------- */
.box {
	margin-bottom: 1.5em;
}
.box .text-wrapper::before {
	content: '';
	position: absolute;
	bottom: 100%;
	left: 0;
	right: 0;
	height: 16px;
	background-repeat: no-repeat;
    background-size: cover;
    background-position: right bottom;
}
.box.without-border .text-wrapper::before {
	display: none;
	visibility: hidden;
}
.box .text-wrapper {
	position: relative;
}
.box .text-wrapper > *:first-child {
	margin-top: 0;
}
.box .text-wrapper > *:last-child {
	margin-bottom: 0;
}
/* bg-primary */
.box.bg-primary .text-wrapper::before {
	background-image: url(../gfx/box-border-red.png);
}
.box.bg-primary .text-wrapper > h3 {
	color: #ffd548;
}
.box.bg-primary .text-wrapper > h3 span {
	color: #e0e0e0;
}
.box.bg-primary .text-wrapper > *,
.box.bg-primary .text-wrapper a {
	color: #fff;
}
.box.bg-primary .text-wrapper a.btn-secondary {
	color: #131f53;
}

/* bg-secondary */
.box.bg-secondary .text-wrapper::before {
	background-image: url(../gfx/box-border-yellow.png);
}
.box.bg-secondary .text-wrapper > h3 {
	color: #bd054d;
}
.box.bg-secondary .text-wrapper > h3 span {
	color: #131F53;
}
.box.bg-secondary .text-wrapper > *,
.box.bg-secondary .text-wrapper a {
	color: #131F53;
}
/* bg-tertiary */
.box.bg-tertiary .text-wrapper::before {
	background-image: url(../gfx/box-border-blue.png);
}
.box.bg-tertiary .text-wrapper > h3 {
	color: #FFD548;
}
.box.bg-tertiary .text-wrapper > h3 span {
	color: #e0e0e0;
}
.box.bg-tertiary .text-wrapper > *,
.box.bg-tertiary .text-wrapper a {
	color: #fff;
}

/* -- .accordion
--------------------------------------------------------- */
.accordion .btn-circle {
	cursor: pointer;
}
.accordion .pos-right {
	position: absolute;
	right: 1.25rem;
}

/* -- .newsletter
--------------------------------------------------------- */
.newsletter {
	position: relative;
	background-color: #bd054d;
	margin-top: 3em;
	padding: 0;
}
.newsletter .newsletter-form {
	padding: 1em;
	color: #fff;
}
.newsletter .newsletter-form::before {
	position: absolute;
	bottom: 100%;
	left: 0;
	right: 0;
	content: '';
	width: 100%;
	height: 1em;
	background-image: url(../gfx/box-border-red.png);
	background-position: top right;
	background-repeat: no-repeat;
	background-size: cover;
}
.newsletter .newsletter-form h3 {
	color: #fff;
	margin-top: 0;
}
.newsletter a {
	color: #fff;
}
.newsletter .newsletter-form .additional-info {
	display: inline-block;
	margin-right: 2em;
}
/* Newsletter Formular styling */
.newsletter .form-control {
	color: #fff;
}
.newsletter button.btn-circle {
	padding: 0;
}
.newsletter .form-control::-webkit-input-placeholder {color:#efefef;opacity:.8}
.newsletter .form-control::-moz-placeholder{color:#efefef;opacity:.8}
.newsletter .form-control:-ms-input-placeholder{color:#efefef;opacity:.8}
.newsletter .form-control::-ms-input-placeholder{color:#efefef;opacity:.8}
.newsletter .form-control::placeholder{color:#efefef;opacity:.8}
.newsletter label .fa-layers {
	font-size: 1.375em;
	margin: .25rem 1rem 0 0;
}
.newsletter-form .min-200 {
	min-width: 200px;
}
#checkbox-datenschutz {
	position: absolute;
    top: 50%;    
	left: 1.5em;
    margin-top: 0;
    opacity: 0;
}
/* .newsletter addtion */
.news-letter-addition {
	background-color: #ffd548;
	padding: 1em;
	color: #bd054d;
}
.news-letter-addition .fa-ul {
	margin-left: 1.25em;
}
.news-letter-addition .fa-caret-right {
	color: #131f53;
}
.news-letter-addition .text-wrapper > *:last-child {
	margin-bottom: 0;
}

/* -- .projekte
--------------------------------------------------------- */
.projekte {
	background-image: url(../gfx/bg-grey.jpg);
	background-repeat: no-repeat;
	background-position: 0 10em;
	background-size: contain;
}
.projekte-map {
	position: relative; 
}
.projekte-map .btn-overlay {
	position: absolute;
	line-height: 1px;
	padding-left: .75em;
}
.projekte-map .btn-overlay:focus {
	outline: none;
}
.projekte-map .btn-overlay .icon-wrapper {
	display: inline-block;
	border-radius: 50%;
	border: 3px solid transparent;
	padding: .25em;
    transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
	position: absolute;
	top: -1em;
	left: -1em;
	color: #131f53;
}
.projekte-map .btn-overlay:not(.collapsed) .icon-wrapper {
	border: 3px solid #bd054d;
}
.projekte-map .btn-overlay .text-tertiary {
	position: absolute;
	right: 100%;
	top: -.5em;
	padding-right: 1.5em;
	line-height: 1em;
	white-space: nowrap;
}
.projekte-map .btn-overlay.text-after .text-tertiary {
	right: auto;
	left: 100%;
	padding-right: 0;
	padding-left: .5em;
}

/* -- .img-circle-with-bg // .img-circle
--------------------------------------------------------- */
.img-circle-with-bg {
	background-image: url(../gfx/bg-image-circle.gif);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	padding: 1.5em;
	display: inline-block;
	width: 100%;
}
img.img-circle,
.img-circle-with-bg img {
	border-radius: 50%;
}

/* -- .data
--------------------------------------------------------- */
.data {
	color: #bd054d;
	margin: 0 0 1.5em;
}
.data .icon-wrapper {
	display: inline-block;
	margin: 1rem 0 1rem;
	font-size: 3.35em;
}
.data .number {
	font-size: 2em;
	font-weight: 700;
}

/* -- blockquote
--------------------------------------------------------- */
blockquote {
	margin: 1em 0;
	font-size: 1em;
	font-weight: 700;
	line-height: 130%;
}
blockquote p {
	margin-bottom: .5em;
}
blockquote footer {
	font-size: 1rem;
	line-height: 130%;
	font-weight: 400;
	color: #bd054d;
}

/* -- form
--------------------------------------------------------- */
fieldset {
    margin: 2em 0 1em;
}
fieldset > legend {
	font-size: 1.375em;
    color: #bd054d;
}
label {
	margin: 1em 0 .5em;
	cursor: pointer;
}
label.label-xl {
	font-size: 1.375em;
	margin: 2em 0 1em;
	color: #bd054d;
}
label.label-check {
	font-size: 1.25em;
}
.form-control {
	border-radius: 0;
	border: 2px solid;
	background-color: transparent;
	color: #131f53;
	height: auto;
	padding: 1em;
}
.form-control:focus {
	background-color: transparent;
}

.input-group .form-control {
	border-right: 0;
}

.input-group .input-group-append .input-group-text {
	background-color: transparent;
    border: 2px solid;
    border-radius: 0;
    border-left: 0;
}
#spendenbetrag.form-control {
    font-size: 1.5rem;
    padding: .675rem;
}
.form-check-label {
	margin-top: 0;
}
input ~ label .selected,
input:checked ~ label .not-selected {
	display: none;
	visibility: hidden;
}
input ~ label .not-selected,
input:checked ~ label .selected {
	display: block;
	visibility: visible;
}
section:not(.newsletter) input:checked ~ label .selected {
	color: #bd054d;
}
.check-label {
	margin-left: .5em;
	min-width: 80px;
}
.zahlungsart-check .check-label {
	padding: .5em;
    border: 1px solid #efefef;
}
input:checked ~ .zahlungsart-check .check-label {
	border-color: #bd054d;
}


/* -- stepbar
--------------------------------------------------------- */
#stepbar {
	background-color: #efefef;
	width: 100%;
	overflow: hidden;
}
#stepbar > .inner-wrapper {
	width: 768px;
	margin: 0 auto;
}
#stepbar .step {
	padding: 1em;
	text-align: center;
	width: 140px;
	margin: 0 1em;
}
#stepbar .step.inactive {
	color: #a0a0a0;
}
#stepbar .step:not(.inactive) .fa-layers-text {
	color: #fff;
}
#stepbar .step .fa-layers {
	vertical-align: middle;
}
.step-between {
	position: relative;
	min-height: 100%;
}
.step-between::before {
	content: '';
	background-color: #a0a0a0;
	position: absolute;
	top: 2.5em;
	left: -45px;
	margin-top: -1px;
	width: 90px;
	height: 2px;
	
}

/* -- video-wrapper
--------------------------------------------------------- */
.video-wrapper,
.video-fluid > .video-embed {
	margin: 1em 0;
}


/* -- carousel
--------------------------------------------------------- */
.carousel-item {
	padding: 0 4em;
}
.carousel-control-next, .carousel-control-prev {
	opacity: 1;
    top: 50%;
	margin-top: -1.5em;
}

/* -- Slider-Duration (Change also in javascript [.emulateTransitionEnd(600) first time it occures])
--------------------------------------------------------- */
.carousel-item {
	transition: -webkit-transform .6s ease;
    transition: transform .6s ease;
    transition: transform .6s ease,-webkit-transform .6s ease;
}

/* -- Carousel Fader
--------------------------------------------------------- */
.carousel.fader .carousel-item {
	display: block;
	position: relative;
	opacity: 0;
	transition: opacity .75s ease-in-out;
	z-index: 1;
}
.carousel.fader .carousel-inner > .carousel-item:not(:first-child) {
	position: absolute; 
	top:0px; 
	width: 100%; 
	height: 100%;
}
.carousel.fader .carousel-item.active {
	opacity: 1;
	display: block;
	z-index: 2;
}
.carousel.fader .carousel-control-prev,
.carousel.fader .carousel-control-next {
	z-index: 3;
}

/* -- Carousel-Multi
--------------------------------------------------------- */
.carousel.carousel-multi {
	position: relative;
	margin: 2em 0;
}
.carousel-multi .carousel-item-inner {
    display: none;
	padding: 0;
}
.carousel.carousel-multi .carousel-item {
	padding: 0;
}
.carousel-multi .carousel-item-inner:first-child {
    display: block;
}
.carousel-multi .carousel-nav.btn {
	padding: 0;
	background-color: transparent;
	outline: 0;
    box-shadow: none;
}
.carousel-multi .carousel-nav.btn:hover {
	color: #666;
}
.carousel-multi .carousel-control-next, 
.carousel-multi .carousel-control-prev {
	position: absolute;
	top: 50%;
	bottom: auto;
    opacity: 1;
	margin: -1.5em 0 0;
	display: inline-block;
	z-index: 9;
}
.carousel-multi .carousel-control-next {
	right: 1rem;
} 
.carousel-multi .carousel-control-prev {
	left: 1rem;
}
.carousel-multi .carousel-control-next:hover, 
.carousel-multi .carousel-control-prev:hover {
	color: #eee;
	opacity: 1;
}
.carousel-multi .carousel-item-inner > a {
	position: relative;
	display: block;
}

/* -- lightbox
--------------------------------------------------------- */
.ekko-lightbox .modal-content {
	border-radius: 0;
    border: 0;
}
.ekko-lightbox .modal-body {
	padding: 0;
    display: block;
}
.ekko-lightbox .modal-header {
    position: absolute;
    left: .5em;
    right: .5em;
    display: block;
    z-index: 9;
    border: none;
    top: .5em;
    padding: 0;
}
.ekko-lightbox .modal-header .close {
	padding: 0;
    margin: 0;
    position: absolute;
    top: 0;
    right: 0;
    text-shadow: none;
    background-color: rgba(0,0,0.5);
    border-radius: 50%;
    width: 1.5em;
    height: 1.5em;
    color: #fff;
    line-height: 1.5em;
    text-align: center;
}
.ekko-lightbox .modal-header .close:hover {
	color: #fff;
    background-color: rgba(0,0,0.8);
}
.ekko-lightbox-nav-overlay a {
	pointer-events: none;
	display: block;
    flex: none;
    top: 50%;
    position: absolute;
	margin-top: -1.5em;
    border-radius: 1.5em;
    width: 3em;
    height: 3em;
    text-align: center;
    background-color: #131f53;
    box-shadow: 0 8px 17px rgba(0,0,0,.2), 0 6px 20px rgba(0,0,0,.19);
    color: #fff;
	font-size: 1em;
    padding: .875em 0 0;
    left: 1em;
    opacity: 1;
    line-height: 1em;
}
.ekko-lightbox-nav-overlay a:hover {
	color: #fff;
    background-color: #080c21;
}
.ekko-lightbox-nav-overlay a + a {
	right: 1em;
	left: auto;
}
.ekko-lightbox-nav-overlay a span {
    padding: 0;
}
.ekko-lightbox .modal-footer {
	display: block;
	border-top: 0;
}
.ekko-lightbox + .modal-backdrop.show {
    opacity: .75;	
}

/* -- news
--------------------------------------------------------- */
.news-single .mediaelement {
	margin: 0 0 1.5em;
}
.news-single .teaser-text {
	font-weight: 700;
}

/* -- pagenavigation (news)
--------------------------------------------------------- */
.page-navigation {
	text-align: center;
}

.page-navigation p {
	display: none;
	visibility: hidden;
}

.f3-widget-paginator,
.pagination {
	display: inline-block;
	padding-left: 0;
	margin: 20px 0;
}

.f3-widget-paginator > li,
.pagination > li {
	display: inline-block;
	position: relative;
	line-height: 1.42857143;
	text-decoration: none;
	background-color: #fff;
	border: 1px solid #ddd;
	margin: 0 .125em;
}

.f3-widget-paginator > li.current,
.pagination > li.current {
	background-color: #efefef;
	padding: .5em 1em;
	color: #999;
}

ul.f3-widget-paginator > li > a,
ul.pagination > li > a {
	display: block;
	padding: .5em 1em;
}

.f3-widget-paginator > li > a:hover,
.pagination > li > a:hover {
	background-color: #eee;
}

/* -- Fehlermeldungen
--------------------------------------------------------- */
.typo3-messages {
	list-style-type: none;
	padding: 0;
	margin: 0;
}
.typo3-messages li p {
	margin-bottom: 0;
}

/* -- Suche
--------------------------------------------------------- */
span.hit {
	position: relative;
	font-weight: bold;
}
span.hit::before {
    background-color: rgba(255, 213, 72,0.25);
    padding: .1em .375em;
    position: absolute;
    top: 0;
    left: -.15em;
    right: -.15em;
    bottom: 0;
    content: '';
}
.result_txt {
	display: none;
	visibility: hidden;
}
/* Page-Nav */
.kesearch_pagebrowser {
	text-align: center;
}
.kesearch_pagebrowser ul {
	display: inline-block;
	padding-left: 0;
	margin: 20px 0;
	list-style-type: 0;
}
.kesearch_pagebrowser ul > li {
	display: inline-block;
	
}
.kesearch_pagebrowser ul > li a {
	display: block;
	position: relative;
	line-height: 1.42857143;
	text-decoration: none;
	background-color: #fff;
	border: 1px solid #ddd;
	margin: 0 .125em;
	padding: .5em 1em;
}
.kesearch_pagebrowser ul > li a.current {
	background-color: #efefef;
	color: #999;
}
.kesearch_pagebrowser ul > li > a:hover {
	background-color: #eee;
}

/* -- condolencebook
--------------------------------------------------------- */
.before-pagination + ul {
	display: none;
	visibility: hidden;
}

/* -- text-image
--------------------------------------------------------- */
.text-image .border {
    border: none !important;
    overflow: hidden;
}
.text-image .border img {
	border-radius: 50%;
	background-image: url(../gfx/bg-image-circle.gif);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	padding: 1.5em;
}
.jubilaeum .text-image .border img {
    background-image: url(../gfx/badge-border-25jahre.jpg); /* EB Baustein 2 */
    padding: 11.5%;
}



/* -- #badge25jahre
--------------------------------------------------------- */
#badge25jahre {
	z-index: 99999;
	display: block;
    position: fixed;
    right: 1em;
    bottom: 1em;
    width: 120px;
    /* box-shadow: 0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22); */
    border-radius: 50%;
}
#badge25jahre:hover {
    transform: translateY(-10px);
    /* box-shadow: 0 14px 35px rgba(0,0,0,0.24), 0 10px 18px rgba(0,0,0,0.18); */
}

/* -- Font-Styles
--------------------------------------------------------- */
.left-right-content > .row > .col-12 > *:first-child > header > * {
	margin-top: 0;
}

p, section ul, table {
	font-family: 'Roboto', sans-serif;
	line-height: 150%;
}
h1, h2, h3, h4, h5, h6, .teaser .text-wrapper p, .newsletter ul, blockquote p, footer p {
	font-family: 'Oswald', sans-serif;
}
section > .row > .col-12 > h2 {
	margin-top: 1em;
}
h1, h2, h3, h4, h5, h6 {
	margin: 1.5em 0 1em;
	line-height: 120%;
}
h1 {
	font-size: 1.75em;
	font-weight: 700;
	color: #131f53;
}
h1 span {
	display: block;
	font-size: .625em;
	color: #a8a8a8;
	font-weight: 400;
	line-height: 130%;
	margin-top: .375em
}
h2 {
	font-size: 1.75em;
	font-weight: 700;
	color: #131f53;
}
h2 span {
	display: block;
	font-size: .6875em;
	color: #bd054d;
	font-weight: 400;
}
h2 small {
	display: inline-block;
	font-size: 1rem;
	margin-left: 1em;
}
h3 {
	font-size: 1.25em;
	font-weight: 700;
	color: #bd054d;
}
h3 span {
	display: block;
	font-size: .75em;
	color: #a8a8a8;
	font-weight: 400;
	line-height: 120%;
	margin-top: .375em;
}
h4 {
	font-size: 1em;
	font-weight: 700;
	color: #131f53;
	margin: 2em 0 1.5em;
}
h5 {
	font-size: .875em;
	font-weight: 700;
	color: #131f53;
	text-transform: uppercase;
	margin: 2em 0 1.5em;
}
h6 {
	font-size: .75em;
	font-weight: 400;
	margin: 1.5em 0 0.5em;
	text-transform: uppercase;
	color: #888;
	letter-spacing: .5px;
}
.modal-title {
	margin: 0;
}
button, a {
    text-decoration: none;
    transition: all .15s ease-in-out;
    -webkit-transition: all .15s ease-in-out;
    -moz-transition: all .15s ease-in-out;
    -o-transition: all .15s ease-in-out;
}
a {
	font-weight: 700;
	color: #bd054d;
}
a:hover {
	color: #8a0437;
	text-decoration: none;
}
.btn,
.btn-primary,
.btn-secondary,
.btn-tertiary,
.btn-underline,
.btn-overlay,
.btn-circle {
	cursor: pointer;
	display: inline-block;
    vertical-align: middle;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    font-size: 1em;
    line-height: 1.5;
	font-weight: 700;
	border: 1px solid transparent;
	padding: 1rem 1.25rem;
	border-radius: 0;
	white-space: normal;
	text-align: left;
    transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}
.btn.focus,
.btn:focus {
	box-shadow: 0 0 0 .2rem rgba(0, 123, 255, .25)
}
.btn-primary {
	color: #fff;
	background-color: #bd054d;
	border-color: #bd054d
}
.btn-primary:hover {
	color: #fff;
	background-color: #8a0437;
	border-color: #8a0437
}
.btn-primary.focus,
.btn-primary:focus {
	box-shadow: 0 0 0 .2rem rgba(138, 4, 55, .5)
}
.btn-primary.disabled,
.btn-primary:disabled {
	background-color: #868e96;
	border-color: #868e96
}
.btn-primary:not([disabled]):not(.disabled).active,
.btn-primary:not([disabled]):not(.disabled):active,
.show > .btn-primary.dropdown-toggle {
	color: #fff;
	background-color: #8a0437;
	border-color: #8a0437;
	box-shadow: 0 0 0 .2rem rgba(138, 4, 55, .5)
}
.btn-secondary {
	color: #131f53;
	background-color: #ffd548;
	border-color: #ffd548
}
.btn-secondary:hover {
	color: #131f53;
	background-color: #c99700;
	border-color: #c99700
}
.btn-secondary.focus,
.btn-secondary:focus {
	box-shadow: 0 0 0 .2rem rgba(201, 151, 0, .5)
}
.btn-secondary.disabled,
.btn-secondary:disabled {
	background-color: #868e96;
	border-color: #868e96
}
.btn-secondary:not([disabled]):not(.disabled).active,
.btn-secondary:not([disabled]):not(.disabled):active,
.show > .btn-secondary.dropdown-toggle {
	color: #131f53;
	background-color: #c99700;
	border-color: #c99700;
	box-shadow: 0 0 0 .2rem rgba(201, 151, 0, .5)
}
.btn-tertiary {
	color: #fff;
	background-color: #131f53;
	border-color: #131f53
}
.btn-tertiary:hover {
	color: #fff;
	background-color: #080c21;
	border-color: #080c21
}
.btn-tertiary.focus,
.btn-tertiary:focus {
	box-shadow: 0 0 0 .2rem rgba(8, 12, 33, .5)
}
.btn-tertiary.disabled,
.btn-tertiary:disabled {
	background-color: #868e96;
	border-color: #868e96
}
.btn-tertiary:not([disabled]):not(.disabled).active,
.btn-tertiary:not([disabled]):not(.disabled):active,
.show > .btn-tertiary.dropdown-toggle {
	color: #fff;
	background-color: #080c21;
	border-color: #080c21;
	box-shadow: 0 0 0 .2rem rgba(8, 12, 33, .5)
}
.btn-underline {
	color: #bd054d;
	padding: 0 0 .25em;
	border-bottom: 3px solid;
	background-color: transparent;
}
.btn-underline:hover {
	color: #8a0437;
}
.btn-circle {
	border-radius: 2em;
	width: 3em;
	height: 3em;
	padding: .6em 0 0;
	text-align: center;
	background-color: #131f53;
	box-shadow: 0 8px 17px rgba(0,0,0,.2), 0 6px 20px rgba(0,0,0,.19);
	color: #fff;
}
.btn-circle:hover {
	background-color: #080c21;
	color: #fff;
}
.btn-overlay {
	background-color: transparent;
	cursor: pointer;
	padding: 0;
}
.btn-overlay .fa-circle {
	font-size: 1em;
}


/* -- Breakpoint 1
--------------------------------------------------------- */
@media (min-width: 576px) {
	
	.news-list-view.row.equal-height .teaser-box {
		margin: 0;
		min-height: 100%;
	}
	.news-list-view.row.equal-height > .col-12 {
		margin-bottom: 3em;
	}
}



/* -- Breakpoint 2
--------------------------------------------------------- */
@media (max-width: 767px) {
	.h-100 {
		height: auto !important;
	}
}
/* -- Breakpoint 2
--------------------------------------------------------- */
@media (min-width: 768px) {
	
	
	/* -- core
	 * 
	 * header
	 * #bg-spenden-btn
	 * #header-spenden-btn
	 * #logo
	 * header.header nav
	 * #main-nav
	 * #meta-nav
	 * #footer-spenden (Footer)
	 * footer.footer
	 * #social-nav
	 *
	--------------------------------------------------------- */
	
	/* -- header
	--------------------------------------------------------- */
	header.header {
		position: fixed;
		width: 100%;
		z-index: 999;
	}
	header.header > .row {
		max-width: 1401px;
		margin: 0 auto;
	}

	/* -- #bg-spenden-btn
	--------------------------------------------------------- */
	#bg-spenden-btn {
		position: relative;
	}
	#bg-spenden-btn::before {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		content: '';
		background-image: url(../gfx/bg-spenden-hover.png);
		background-position: left bottom;
		background-repeat: no-repeat;
		opacity: 0;
		transition: all .15s ease-in-out;
		-webkit-transition: all .15s ease-in-out;
		-moz-transition: all .15s ease-in-out;
		-o-transition: all .15s ease-in-out;
	}
	#bg-spenden-btn:hover::before {
		opacity: .2;
	}
	#bg-spenden-btn > * {
		position: relative;
		z-index: 2;
	}
	
	/* -- #header-spenden-btn
	--------------------------------------------------------- */
	#header-spenden-btn {
		padding: 3em 1em 2em;
	}

	/* -- #logo
	--------------------------------------------------------- */
	#logo {
		z-index: 1;
	}
	#logo a {
		padding-top: 3em;
	}
	
	/* -- header.header nav
	--------------------------------------------------------- */
	header.header nav {
		display: block;
		visibility: visible;
		position: static;
		top: auto;
		left: auto;
		background-color: transparent;
		margin-top: 0;
		padding-top: 0;
		box-shadow: none;
    	pointer-events: none;
	}

	/* -- #main-nav
	--------------------------------------------------------- */
	#main-nav {
		margin-left: 25%;
		padding-left: 1em;
		padding-top: 3em;
		pointer-events:all;
	}
	#main-nav > li {
		border-bottom: none;
		display: inline-block;
		position: relative;
	}
	#main-nav > li > a,
	#main-nav > li > .dropdown > button {
		display: inline-block;
		padding: 0;
		font-size: 1em;
		color: #131f53;
		margin: 0 .5em;
		position: relative;
	}
	#main-nav li.has-sub > a {
		padding-right: 0;
	}
	#main-nav li a > .fa-fw {
		position: relative;
		margin-left: .25em;
		right: auto;
	}
	#main-nav > li:hover > a {
		color: #bd054d;
	}
	/* subnav */
	#main-nav li ul {
		display: block;
		visibility: visible;
		position: absolute;
		top: 100%;
		min-width: 230px;
		margin: 0;
		/*background-color: rgba(255, 213, 72, 0.85);*/
		background-color: rgba(255, 255, 255, 0.85);
		height: 0;
		overflow: hidden;
		opacity: 0;
		transition: opacity .15s ease-in-out;
		-webkit-transition: opacity .15s ease-in-out;
		-moz-transition: opacity .15s ease-in-out;
		-o-transition: opacity .15s ease-in-out;
	}
	#main-nav li:hover > ul {
		height: auto;
		opacity: 1;
	}
	#main-nav li ul li a {
		display: inline-block;
		padding: 0;
		margin: .75em 1rem;
		color: #131f53;
	}
	#main-nav  li ul a:hover {
		color: #bd054d;
	}

	/* -- #meta-nav
	--------------------------------------------------------- */
	#meta-nav {
		position: absolute;
		top: 0;
		left: 0;
		right: -20%;
		padding: .25em 1em 1em 25%;
		margin: 0;
		background-image: url(../gfx/bg-meta-nav.png);
		background-position: top right;
		background-size: cover;
		background-repeat: no-repeat;
		z-index: 99999;
		pointer-events: none;
	}
	#meta-nav li {
		pointer-events:all;
		display: inline-block;
		margin-left: .5em;
	}
	#meta-nav li a {
		display: inline-block;
		padding: 0;
		margin-left: 1em;
	}

	/* -- #footer-spenden (Footer)
	--------------------------------------------------------- */
	#footer-spenden {
		padding: 5em 2em 2em;
		margin: 5em 0 0;
	}

	/* -- footer
	--------------------------------------------------------- */
	footer.footer {
		padding: 2em;
	}

	/* -- #social-nav
	--------------------------------------------------------- */
	#social-nav {
		list-style-type: none;
		margin: 2.25rem 0 0;
		padding: 0;
		font-size: 2em;
		text-align: center;
		border-bottom: 0;
	}
	#social-nav li {
		display: block;
		margin: 0 0 .75em;
	}


	/* -- Content-Elements
	 * 
	 * section - padding-handling
	 * .teaser
	 * .range-slider
	 * .newsletter
	 * .projekte
	 * .data
	 * 
	 * blockquote
	 * form styling
	 * Carousel Fader
	 * .carousel-multi
	 * ekko-lightbox
	 * #badge25Jahre
	 * 
	--------------------------------------------------------- */


	/* -- section - padding-handling
	--------------------------------------------------------- */
	section {
		padding: 2em;
		margin: 2em 0;
	}
	section.left-right-content {
		padding: 0 2em;
		margin: 0;
	}
	section.left-right-content > .row > .col-12 {
		margin-top: 2em;
		margin-bottom: 2em;
	}
	main > section:first-child:not(.teaser) {
		margin-top: 11em;
	}

	/* -- Weitere Content Elemente
	--------------------------------------------------------- */
	main > .frame-type-text,
	main > .accordion,
	main > .text-image,
	main > .box,
	main > .frame-type-textmedia figure.video-fluid {
		margin: 0 2em;
	}

	/* -- .teaser
	--------------------------------------------------------- */
	.teaser .text-wrapper {
		position: absolute;
		left: 62%;
		width: 33%;
		bottom: 5em;
		padding: 0;
		background-color: transparent;
		text-shadow: 1px 1px 0 rgba(0,0,0,.5);
	}
	.teaser .text-wrapper.without-slider {
		position: relative;
		top: auto;
		right: auto;
		margin: -4em 0 -4em;
		bottom: 0;
		left: 0;
		display: inline-block;
		width: auto;
		max-width: 69%;
		text-shadow: none;
	}
	.teaser .text-wrapper.without-slider > * {
		padding: .25rem 1rem;
		background-color: #fff;
		color: #bd054d;
		text-shadow: none;
	}
	.teaser .text-wrapper.without-slider > p {
		display: none;
		visibility: hidden;
	}
	.teaser .text-wrapper.without-slider h1 span {
		color: #a8a8a8;
	}

	/* -- .range-slider
	--------------------------------------------------------- */
	.range-slider {
		margin: 0 0 1em;
	}
	.teaser .range-slider {
		margin: -2em 2em 0;
	}
	.slider .tooltip-inner {
		font-size: 1.5em;
		margin-top: -.5em;
	}
	
	/* -- .newsletter
	--------------------------------------------------------- */
	.newsletter .newsletter-form {
		padding: 1em 2em 2em;
	}
	.newsletter .btn-circle {
		font-size: 1.375em;
		margin-left: auto;
		margin-right: auto;
		display: block;
	}
	.newsletter #checkbox-datenschutz {
		position: absolute;
		top: 50%;
		left: 3em;
		margin-top: -.5em;
		opacity: 0;
	}
	/* .newsletter addtion */
	.news-letter-addition {
		padding: .5em 1em;
	}

	/* -- .projekte
	--------------------------------------------------------- */
	.projekte {
		background-position: center center;
		background-size: 100%;
	}
	.projekte h2 {
		text-align: right;
	}

	/* -- .data
	--------------------------------------------------------- */
	.data {
		margin: 0;
		font-size: .875em;
		line-height: 130%;
	}
	.data .icon-wrapper {
		margin: 0 1rem 0;
	}
	.data .number {
		font-weight: 700;
	}

	/* -- blockquote
	--------------------------------------------------------- */
	blockquote {
		font-size: 1.5em;
	}
	blockquote footer {
		font-size: 1.125rem;
	}
	
	/* -- form
	--------------------------------------------------------- */
	label.label-xl.label-slider {
		margin-bottom: 1.5em;
	}

	/* -- carousel
	--------------------------------------------------------- */
	.carousel {
		margin: 0 -2em;
	}
	.carousel-item {
		padding: 0 6em;
	}
	.carousel-control-prev {
		left: 2em;
	}
	.carousel-control-next {
		right: 2em;
	}
	
	/* -- Carousel-Multi
	--------------------------------------------------------- */
	.carousel.carousel-multi {
		width: 150%;
  		margin-left: -25%;
	}
	.carousel-multi .carousel-item-inner > * {
		max-width: none;
	}
	.carousel-multi .carousel-inner::before,
	.carousel-multi .carousel-inner::after {
		content: '';
		position: absolute;
		top: 0;
		bottom: 0;
		width: 9%;
		z-index: 3;
	}
	.carousel-multi .carousel-inner::before {
		left: 16.666%;
		background: -moz-linear-gradient(left, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%);
		background: -webkit-linear-gradient(left, rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%);
		background: linear-gradient(to right, rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%);
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#00ffffff',GradientType=1 );
	}
	.carousel-multi .carousel-inner::after {
		right: 16.666%;
		background: -moz-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%);
		background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%);
		background: linear-gradient(to right, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%);
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=1 );
	}
	.carousel-multi .carousel-control-next {
		right: 17.5%;
	}
	.carousel-multi .carousel-control-prev{
		left: 17.5%;
	}
	.carousel-multi .carousel-item-inner {
        display: block;
		padding-right: 15px;
   		padding-left: 15px;
    }
    .carousel-multi .carousel-inner .carousel-item-right.active,
    .carousel-multi .carousel-inner .carousel-item-next {
      transform: translateX(25%);
    }
    .carousel-multi .carousel-inner .carousel-item-left.active, 
    .carousel-multi .carousel-inner .carousel-item-prev {
      transform: translateX(-25%)
    }
    .carousel-multi .carousel-inner .carousel-item-right,
    .carousel-multi .carousel-inner .carousel-item-left{ 
      transform: translateX(0);
    }
    .carousel-multi .carousel-item-inner {
        float: left;
    }
	.carousel-multi .carousel-item img {
		width: 100%;
	}
	
	/* -- Lightbox
	--------------------------------------------------------- */
	.ekko-lightbox-nav-overlay a {
		font-size: 1.25em;
		pointer-events:all;
	}
	
	/* -- Box
	--------------------------------------------------------- */
	.box > .row > .col-md-6 .text-wrapper::before {
		display: none;
		visibility: hidden;
	}
	
	/* -- #badge25jahre
	--------------------------------------------------------- */
	#badge25jahre {
		width: 180px;
	}
	
	/* -- Font-Styles
	--------------------------------------------------------- */
	section > .row > .col-12 > h2 {
		font-size: 2em;
		margin-top: 1em;
	}
	h1, h2, h3, h4, h5, h6 {
		line-height: 130%;
	}
	h1 {
		font-size: 2.25em;
	}
	h2 {
		font-size: 2em;
		line-height: 120%;
	}
	h2 span {
		font-size: .525em;
	}
	h3 {
		font-size: 1.125em;
	}
	h4 {
		font-size: 1em;
	}
	h5 {
		font-size: 1em;
	}
	h6 {
		font-size: 1em;
	}
	.btn-md-primary {
		color: #fff;
		background-color: #bd054d;
		border-color: #bd054d
	}
	.btn-md-primary:hover {
		color: #fff;
		background-color: #8a0437;
		border-color: #8a0437
	}
	.btn-md-primary.focus,
	.btn-md-primary:focus {
		box-shadow: 0 0 0 .2rem rgba(138, 4, 55, .5)
	}
	.btn-md-primary.disabled,
	.btn-md-primary:disabled {
		background-color: #868e96;
		border-color: #868e96
	}
	.btn-md-primary:not([disabled]):not(.disabled).active,
	.btn-md-primary:not([disabled]):not(.disabled):active,
	.show > .btn-md-primary.dropdown-toggle {
		color: #fff;
		background-color: #8a0437;
		border-color: #8a0437;
		box-shadow: 0 0 0 .2rem rgba(138, 4, 55, .5)
	}
	
}



/* -- Breakpoint 3
--------------------------------------------------------- */
@media (min-width: 992px) { 

	
	/* -- core
	 * 
	 * #header-spenden-btn
	 * #logo
	 * #main-nav
	 * #meta-nav
	 * #footer-spenden (Footer)
	 * footer.footer
	 * #social-nav
	 *
	--------------------------------------------------------- */

	/* -- #header-spenden-btn
	--------------------------------------------------------- */
	#header-spenden-btn {
		font-size: 1.375em;
		padding: 3em 1em 1.75em;
	}

	/* -- #logo
	--------------------------------------------------------- */
	#logo {
		max-width: 210px;
	}
	#logo a {
		padding: 3em 1.5em 1.5em;
	}

	/* -- #main-nav
	--------------------------------------------------------- */
	#main-nav {
		margin-left: 30%;
		padding-left: 1em;
		padding-top: 4.375em
	}
	#main-nav > li > a,
	#main-nav > li > .dropdown > button {
		font-size: 1.25em;
		margin: 0 1.5em 0 0;
	}
	#main-nav > li > a .fa-fw,
	#main-nav > li > .dropdown button .fa.fw {
		margin-left: 0;
	}

	/* -- #meta-nav
	--------------------------------------------------------- */
	#meta-nav {
		padding: .25em 1em 1em 30%;
	}
	#meta-nav li {
		pointer-events:all;
		display: inline-block;
		margin-left: 0;
	}
	#meta-nav li a {
		margin: 0 1.375em 0 1em;
		text-transform: uppercase;
		letter-spacing: .5px;
	}

	/* -- #footer-spenden (Footer)
	--------------------------------------------------------- */
	#footer-spenden {
		padding: 8em 16.666666% 2em;
		margin: 5em 0 0;
	}

	/* -- footer
	--------------------------------------------------------- */
	footer.footer {
		padding: 2em 8.3333%;
	}

	/* -- #social-nav
	--------------------------------------------------------- */
	#social-nav {
		text-align: right;
	}


	/* -- Content-Elements
	 * 
	 * section - padding-handling
	 * .teaser
	 * .range-slider
	 * .teaser-box
	 * .accordion
	 * .newsletter
	 * .projekte
	 * .data
	 * 
	 * blockquote
	 * form styling
	 * Carousel Fader
	 * carousel-multi
	 * 
	--------------------------------------------------------- */


	/* -- section - padding-handling
	--------------------------------------------------------- */
	section {
		padding: 2em 8.3333%;
		margin: 2em 0;
	}
	section .row.equal-height {
		margin-bottom: 2em;
	}
	section.left-right-content {
		padding: 0 8.3333%;
		margin: 0;
	}
	section.left-right-content > .row > .col-12 {
		margin-top: 3em;
		margin-bottom: 3em;
	}
	main > section:first-child:not(.teaser) {
		margin-top: 13em;
	}
	
	/* -- Weitere Content Elemente
	--------------------------------------------------------- */
	main > .frame-type-text,
	main > .accordion,
	main > .text-image,
	main > .box,
	main > .frame-type-textmedia figure.video-fluid {
		margin: 0 8.3333%;
	}


	/* -- .teaser
	--------------------------------------------------------- */
	.teaser .text-wrapper {
		bottom: 6em;
		font-size: 1.25em;
	}
	.teaser .text-wrapper.without-slider {
		left: 8.333%;
		max-width: 68%;
	    margin-left: -2.5em;
	}
	.teaser .text-wrapper.without-slider > * {
		padding: .25rem 2rem;
	}

	/* -- .range-slider
	--------------------------------------------------------- */
	.range-slider {
		margin: 0 0 1em;
	}
	.teaser .range-slider {
		margin: -2em 8.3333% 0;
	}
	.slider .tooltip-inner {
		font-size: 1.75em;
		margin-top: -.675em;
	}
	
	/* -- .teaser-box
	--------------------------------------------------------- */
	.teaser-box {
		background-size: cover;
	}
	.row.equal-height .teaser-box {
		margin: 0;
		min-height: 100%;
	}
	/* -- .teaser-box.highlight
	--------------------------------------------------------- */
	.teaser-box.highlight .news-img-wrap {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background-size: cover;
	}
	
	/* -- .accordion
	--------------------------------------------------------- */
	.accordion .teaser-box .text-wrapper {
		padding: 1.75em;
	}

	/* -- .newsletter
	--------------------------------------------------------- */
	.newsletter .newsletter-form {
		padding: 1em 8.3333% 2em;
	}
	/* .newsletter addtion */
	.news-letter-addition {
		padding: .5em 8.3333%;
	}

	/* -- .projekte
	--------------------------------------------------------- */
	section.projekte > .row > .col-12 > h2 {
		margin-top: 3em;
	}

	/* -- .data
	--------------------------------------------------------- */
	.data {
		margin: 0;
		font-size: 1em;
		line-height: 130%;
	}
	.data .icon-wrapper {
		margin: 0 1rem 1rem 0;
		font-size: 4em;
	}
	.data .number {
		line-height: 120%;
		font-weight: 700;
		font-size: 2em;
	}
	.data .description {
		font-size: .875em;
	}

	/* -- carousel
	--------------------------------------------------------- */
	.carousel {
		margin: 0 -8.333%;
	}
	.carousel-item {
		padding: 0 16.333%;
	}
	.support.px-0 .carousel-item {
		padding: 0 18.333%
	}
	.carousel-control-prev,
	.carousel-control-next {
		font-size: 1.25em;
	}
	.carousel-control-prev {
		left: 8.3333%;
	}
	.carousel-control-next {
		right: 8.3333%;
	}

	/* -- carousel-mutli
	--------------------------------------------------------- */
	.carousel-multi .carousel-control-next, 
	.carousel-multi .carousel-control-prev {
		font-size: 1.375em;
	}
	
	
	/* -- Font-Styles
	--------------------------------------------------------- */
	section > .row > .col-12 > h2 {
		font-size: 2.37em;
		margin-top: 1em;
	}
	h1, h2, h3, h4, h5, h6 {
		margin: 1.5em 0 1em;
		line-height: 130%;
	}
	h1 {
		font-size: 2.25em;
	}
	h2 {
		font-size: 2.25em;
		line-height: 120%;
	}
	h2 span {
		font-size: .575em;
	}
	h3 {
		font-size: 1.25em;
	}
	h4 {
		font-size: 1.125em;
	}
	

}



/* -- Breakpoint 4
--------------------------------------------------------- */
@media (min-width: 1200px) { 
	
	
		/* -- core
	 * 
	 * #header-spenden-btn
	 * #logo
	 * #main-nav
	 * #meta-nav
	 * #footer-spenden (Footer)
	 * footer.footer
	 * #social-nav
	 *
	--------------------------------------------------------- */

	/* -- #header-spenden-btn
	--------------------------------------------------------- */
	#header-spenden-btn {
		font-size: 1.5em;
		padding: 2.25em 1em 1.75em;
	}

	/* -- #logo
	--------------------------------------------------------- */
	#logo {
		margin-left: 30.333333%;
	}
	#logo a {
		padding: 3em 1em 1em;
	}

	/* -- #main-nav
	--------------------------------------------------------- */
	#main-nav {
		margin-left: 33%;
		padding-left: 0;
		padding-top: 4.375em
	}
	#main-nav > li > a,
	#main-nav > li > .dropdown > button {
		font-size: 1.5em;
		margin: 0 1.75em 0 0;
	}
	#main-nav > li:last-child > a {
		margin-right: 0;
	}
	#main-nav li ul a {
		font-size: 1.125em;
	}

	/* -- #meta-nav
	--------------------------------------------------------- */
	#meta-nav {
		padding: .25em 1em 1em 33%;
	}
	#meta-nav li {
		pointer-events:all;
		display: inline-block;
		margin-left: 0;
	}
	#meta-nav li a {
		margin: 0 1.75em 0 0;
	}

	/* -- #footer-spenden (Footer)
	--------------------------------------------------------- */
	#footer-spenden {
		padding: 8em 16.666666% 4em;
	}
	#footer-spenden h3 {
		font-size: 1.75em;
	}
	#footer-spenden .btn-underline {
		font-size: 1.75em;
		border-bottom: 5px solid;
	}

	/* -- footer
	--------------------------------------------------------- */
	footer.footer {
		padding: 2em 8.3333%;
	}
	footer.footer h4 {
		font-size: 1.75em;
	}
	footer.footer a,
	footer.footer p {
		font-size: .925rem;
		letter-spacing: .75px
	}

	/* -- #social-nav
	--------------------------------------------------------- */
	#social-nav {
		margin-top: 1.5em;
	}
	#social-nav a {
		font-size: 1.125em;
	}


	/* -- Content-Elements
	 * section
	 * .teaser
	 * .range-slider
	 * .teaser-box
	 * .newsletter
	 * .projekte
	 * .data
	 * 
	--------------------------------------------------------- */

	
	
	/* -- section
	--------------------------------------------------------- */
	main > section:first-child:not(.teaser) {
		margin-top: 15em;
	}
	
	/* -- .teaser
	--------------------------------------------------------- */
	.teaser .text-wrapper {
		bottom: 6em;
		font-size: 1.375em;
	}
	.teaser .text-wrapper h1 {
		font-size: 2.5em;
		margin-bottom: .5em;
		line-height: 120%;
	}
	.teaser .text-wrapper .btn-underline {
		font-size: 1.25em;
		border-bottom: 3px solid
	}

	/* -- .range-slider
	--------------------------------------------------------- */
	.teaser .range-slider {
		margin: -2.5em 16.66666% 0;
	}
	.teaser .range-slider .btn-md-primary {
		font-size: 1.75em;
	}
	.teaser .slider-wrapper {
		padding: 1.625em
	}
	.slider .tooltip-inner {
		font-size: 1.75em;
		margin-top: -.675em;
	}

	/* -- .newsletter
	--------------------------------------------------------- */
	.news-letter-addition {
		font-size: 1.25em;
	}
	
	/* -- .projekte
	--------------------------------------------------------- */
	.projekte .accordion-wrapper {
		margin-top: 4em;
	}
	section.projekte > .row > .col-12 > h2 {
		margin-top: 3em;
	}

	/* -- .data
	--------------------------------------------------------- */
	.data {
		margin: 0 0 1em;
	}
	.data .icon-wrapper {
		margin: 0 1rem 0 0;
		font-size: 5em;
	}
	.data .number {
		line-height: 120%;
		font-weight: 700;
		font-size: 3.25em;
	}
	.data .description {
		font-size: 1.25em;
	}

	/* -- Font-Styles
	--------------------------------------------------------- */
	section > .row > .col-12 > h2 {
		font-size: 3em;
		margin-top: 1em;
	}
	h1, h2, h3, h4, h5, h6 {
		margin: 1.5em 0 1em;
		line-height: 130%;
	}
	h1 {
		font-size: 2.5em;
	}
	h1 span {
		font-size: .375em;
	}
	h2 {
		font-size: 2.75em;
		line-height: 120%;
	}
	h2 span {
		font-size: .5em;
	}
	h3 {
		font-size: 1.75em;
	}
	h4 {
		font-size: 1.25em;
	}
	h5 {
		font-size: 1em;
	}
	h6 {
		font-size: 1em;
	}
	
	
}