@font-face {
    font-family: 'Alegreya Sans';
    font-style: normal;
    font-weight: 400;
    src: local(''), url(/images/fonts/alegreya-sans-v13-latin-regular.woff2) format('woff2'), url(/images/fonts/alegreya-sans-v13-latin-regular.woff) format('woff')
}

@font-face {
    font-family: 'Alegreya Sans Medium';
    font-style: normal;
    font-weight: 500;
    src: local(''), url(/images/fonts/alegreya-sans-v13-latin-500.woff2) format('woff2'), url(/images/fonts/alegreya-sans-v13-latin-500.woff) format('woff')
}

@font-face {
    font-family: 'Alegreya Sans Bold';
    font-style: normal;
    font-weight: 700;
    src: local(''), url(/images/fonts/alegreya-sans-v13-latin-700.woff2) format('woff2'), url(/images/fonts/alegreya-sans-v13-latin-700.woff) format('woff')
}

@font-face {
    font-family: 'Alegreya';
    font-style: normal;
    font-weight: 400;
    src: local(''), url(/images/fonts/alegreya-v19-latin-regular.woff2) format('woff2'), url(/images/fonts/alegreya-v19-latin-regular.woff) format('woff')
}
blockquote,
body,
dd,
dl,
dt,
fieldset,
figure,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
html,
iframe,
legend,
li,
ol,
p,
pre,
textarea,
ul {
    padding: 0;
    margin: 0
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: 400
}

h6 {
    font-size: 100%
}

.article-list .article .readmore {
	font-size: unset;
}
.article-list .article .readmore a {
	color: unset;
	font-size: inherit;
}
.article .article__image figure,
button,
input,
ol p,
select,
ul p {
    margin: 0
}

:after,
:before {
    box-sizing: inherit
}

audio,
embed,
object,
video {
    height: auto;
    max-width: 100%
}

iframe {
    border: 0;
    width: 100%
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

td,
th {
    padding: 0;
    text-align: left
}

.h1,
h1 {
    font-size: 91.125px;
    font-size: calc(40.5px + (91.125 - 40.5)*((100vw - 320px)/(1680 - 320)))
}

.h1.large,
h1.large {
    font-size: 112px;
    font-size: calc(40.5px + (112 - 40.5)*((100vw - 320px)/(1680 - 320)))
}

.h1.small,
.h2,
h1.small,
h2 {
    font-size: 54px;
    font-size: calc(31.5px + (54 - 31.5)*((100vw - 320px)/(1680 - 320)))
}

.h3,
h3 {
    font-size: 36px;
    font-size: calc(24px + (36 - 24)*((100vw - 320px)/(1680 - 320)))
}

.h4,
h4 {
    font-size: 27px;
    font-size: calc(21px + (27 - 21)*((100vw - 320px)/(1680 - 320)))
}

.h5,
h5 {
    font-size: 21px;
    font-size: calc(18px + (21 - 18)*((100vw - 320px)/(1680 - 320)))
}
body {
    color: #000;
    font-size: 20px;
    font-family: 'Alegreya Sans', Helvetica, Arial, sans-serif;
    line-height: 1.5;
    text-rendering: optimizeLegibility
}
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
    display: block;
    word-wrap: break-word;
    font-family: 'Alegreya Sans Medium'
}

.h1,
h1 {
    margin-bottom: calc(1ex/1.44);
    font-size: clamp(2.531rem, 6vw, 5.695rem);
    line-height: calc(1ex/.48)
}

.h1.large,
h1.large {
    font-size: clamp(2.531rem, 7vw, 7rem)
}

.h1.small,
h1.small {
    font-size: clamp(1.969rem, 4vw, 3.75rem)
}

.h2,
.h3,
.h4,
h2,
h3,
h4 {
    margin-bottom: calc(1ex/1.24);
    font-size: clamp(1.969rem, 4vw, 3.375rem);
    line-height: calc(1ex/.42)
}

.h3,
.h4,
h3,
h4 {
    margin-bottom: calc(1ex/1.26);
    font-size: clamp(1.5rem, 3.5vw, 2.25rem)
}

.h4,
h4 {
    font-size: clamp(1.313rem, 3vw, 1.688rem)
}

.h5,
h5 {
    margin-bottom: calc(1ex/1.14);
    font-size: clamp(1.125rem, 2vw, 1.313rem);
    line-height: calc(1ex/.38)
}
ol li,
p,
ul li {
    font-size: 20px;
    font-size: calc(18px + (20 - 18)*((100vw - 320px)/(1680 - 320)));
    font-size: clamp(1.125rem, 2vw, 1.25rem);
    /*font-family: 'Alegreya', Georgia, serif*/
}
b,
strong {
    font-family: 'Alegreya Sans Bold'
}
.small, small {
	font-size: 16px;
}
.article__headline {
	font-size: 36px;
	font-size: calc(24px + (36 - 24)*((100vw - 320px)/(1680 - 320)));
	display: block;
	word-wrap: break-word;
	font-family: 'Alegreya Sans Medium';
	margin-bottom: calc(1ex/1.26);
	font-size: clamp(1.5rem,3.5vw,2.25rem);
	line-height: calc(1ex/.42);
	margin-top: .25rem;
	margin-bottom: .5rem;
}
.article__headline a, .event .event__text a {
	color: #000;
	text-decoration: none;
}

a.sppb-btn.sppb-btn-custom{
    border: 1px solid #943126 !important;
}

/*** IMG Zoom **/
.startseite img,
div.zoom_img img {
	-webkit-transform: scale(1);
	-moz-transform: scale(1);
	-ms-transform: scale(1);
	-o-transform: scale(1);
	transform: scale(1);
}
.startseite img:hover,
div.zoom_img:hover img {
	-webkit-transform: scale(1.1);
	-moz-transform: scale(1.1);
	-ms-transform: scale(1.1);
	-o-transform: scale(1.1);
	transform: scale(1.1);
}
.startseite img,
div.zoom_img img {
	-webkit-transition: all 0.3s linear;
	-moz-transition: all 0.3s linear;
	-ms-transition: all 0.3s linear;
	-o-transition: all 0.3s linear;
	transition: all 0.3s linear;
}

/*** NAV ***/
.nav a {
    font-family: 'Alegreya Sans', Helvetica, Arial, sans-serif !important;
}
.sp-megamenu-parent > li > a,
.nav--primary>ul>li button,
.nav--primary>ul>li>a {
    color: #000;
    font-size: 22px;
    font-size: 1.375rem;
    text-decoration: none
}

.nav--primary>ul>li button:hover,
.nav--primary>ul>li>a:hover {
    color: #943126
}

.sp-megamenu-parent .sp-dropdown li.sp-menu-item > a, .sp-megamenu-parent .sp-dropdown li.sp-menu-item span:not(.sp-menu-badge){
    font-size: 20px;
}
/*** FORMS ***/ 

label {
    margin-bottom: .5rem;
    font-size: 18px;
    font-size: 1.125rem;
    font-family: 'Alegreya Sans Medium'
}

input[type=email],
input[type=password],
input[type=text],
textarea {
    border: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    border-bottom: 3px solid #000
}

input[type=email],
input[type=password],
input[type=text],
select,
textarea {
    width: 100%;
    padding: .25rem .5rem;
    color: #000;
    font-family: inherit;
    font-size: 20px;
    font-size: calc(18px + (20 - 18)*((100vw - 320px)/(1680 - 320)));
    font-size: clamp(1.125rem, 2vw, 1.25rem);
    line-height: 1.5em;
    appearance: none
}

input[type=email]:focus,
input[type=password]:focus,
input[type=text]:focus,
select:focus,
textarea:focus {
    border-color: #000
}
.form-horizontal .controls {
	margin-left: 0px;
}

textarea {
    min-height: 9rem
}

select {
    border: 0
}

.select {
    position: relative;
    display: block;
    border-bottom: 3px solid #000
}

.select:before {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    width: 42px;
    background-color: #fff;
    pointer-events: none
}

.select:after,
input[type=checkbox]:after {
    content: "";
    position: absolute;
    transform: rotate(45deg)
}

.select:after {
    right: 14px;
    top: 13px;
    padding: 4px;
    border: solid #000;
    border-width: 0 2px 2px 0
}

input[type=checkbox] {
    display: inline-block;
    position: relative;
    height: 21px;
    width: 21px;
    margin: 0;
    outline: 0;
    vertical-align: top;
    cursor: pointer;
    border: 1px solid #ccc;
    background-color: #fff;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

input[type=checkbox]:after {
    display: block;
    left: 7px;
    top: 4px;
    width: 5px;
    height: 9px;
    border: 2px solid #fff;
    border-top: 0;
    -webkit-transform: rotate(45deg);
    border-left: 0
}

input[type=checkbox]:checked {
    background-color: #000;
    border-color: #000
}

input[type=checkbox]:focus {
    border-color: #000
}

input[type=checkbox]+label {
    display: inline;
    margin-left: 2px;
    cursor: pointer;
    font-size: 14px;
    font-size: .875rem;
    line-height: 21px
}

/** iCAGENDA ***/
.ic-pagination .ic-next{ float: none;}
.ic-page-last, .ic-page-first {	text-align: unset; }
.ic-full-description {
	margin: 25px 0px;
}
#ic-list-of-dates, .ic-back  {
	display: none;
}
.ic-dates-list .alldates {
	list-style: none;
}
.ic-block .desc i {
	font-style: unset;
}
.ic-info{
background: unset;
}
.ic-image.ic-align-center img {
	margin: auto;
	text-align: center;
}
.ic-image{ background-color: #f4f4f4;}
.ic-image img {
	max-height: 400px;
}
.ic-list-events h2 {
	font-size: 36px;
	font-size: calc(24px + (36 - 24)*((100vw - 320px)/(1680 - 320)));
	display: block;
	word-wrap: break-word;
	font-family: 'Alegreya Sans Medium';
	margin-bottom: calc(1ex/1.26);
	font-size: clamp(1.5rem,3.5vw,2.25rem);
	line-height: calc(1ex/.42);
	margin-bottom: .5rem;
    color: #000;
}
.ic-btn-info {
	color: #fff;
	text-shadow: unset;
	background-color: #943126;
	background-image: unset;
	background-repeat: unset;
	filter: unset;
	border-color: unset;
}
.ic-list-events h2 a {
    color: #000;
}
.ic-event-header h1 {
	font-size: 44px;
}
.ic-header-title, .ic-cat, .ic-header-container {
	display: none;
}
.ic-descshort i {
	font-style: normal;
}
.ic-period-starttime, .ic-period-endtime, .ic-single-starttime, .ic-single-endtime, .ic-datetime-separator {
	font-size: 1em;
}
.date .date__month{
	font-size: 36px;
	display: block;
	word-wrap: break-word;
	font-family: 'Alegreya Sans Medium';
	margin-bottom: calc(1ex/1.24);
	font-size: clamp(1.5rem,2vw,2.5rem);
	margin: 0;
}
.date .date__year{
	font-size: 24px;
	display: block;
	word-wrap: break-word;
	font-family: 'Alegreya Sans Medium';
	margin-bottom: calc(1ex/1.24);
	font-size: clamp(1.5rem,2vw,2.5rem);
	margin: 0;
}
.date {
	text-align: center;
	line-height: 24px;
}
.date__time{
    font-size: 20px;
    line-height: 30px;
    font-family: "Alegreya Sans Bold";
    font-weight: bolder;
    float: left;
}
.date__place{
        font-size: 20px;
    line-height: 30px;
}

.iceventlist-title.ic-block {
	font-size: 22px;
}
.icrounded_eventlist .iceventlist-desc {
	font-size: 16px;
	padding: 10px 0px;
}
.icrounded_eventlist .ic-day {
	line-height: 30px !important;
	font-size: 30px;
	font-weight: bold;
    color: #943126;
}
.icrounded_eventlist .ic-month {
	line-height: 25px !important;
	font-size: 25px;
	font-weight: normal;
    color: #943126;
}
.ic-cat {
	margin-top: 0px;
    padding-right: 10px;
	font-weight: bold;
	text-transform: uppercase;
	font-size: 16px;
	float: left;
}
.ic-place {
    margin-top: 15px;
	font-weight: normal;
	font-size: 16px;
	line-height: 15px;
}
.ic-list-event {
	margin: 5px 0;
	border-radius: unset;
	background: #fff;
    border-bottom: 2px solid #000;
}
.ic-list-event:last-child {
	border-bottom: 0px;
}
.ic-list-event:nth-child(2n+1){
    background-color: #FFF;
}
.default_eventlist .iceventlist-title {
	padding-top: 0;
	line-height: inherit !important;
	font-size: 28px;
	font-weight: inherit;
	-webkit-hyphens: auto;
	-moz-hyphens: auto;
	-ms-hyphens: auto;
	-o-hyphens: auto;
	hyphens: auto;
}
.default_eventlist hr {
	display: none;
}

/*** Acy ***/
#acym_wrapper a:focus, #acym_wrapper a:hover {
	color: #943126;
}
#acym__front__archive__search {
	display: none !important;
}
.acym__front__archive {
	margin-top: 35px !important;
}
.acym__front__archive a{
	color: #000;
	font-size: 20px;
	font-family: 'Alegreya Sans', Helvetica, Arial, sans-serif;
	line-height: 1.5;
	text-rendering: optimizeLegibility;
}

/*** AUDIO ***/

.audio {
    position: fixed;
    right: 0;
    bottom: 0;
    width: 100%;
    max-width: 320px;
    padding: 1rem;
    background-color: #03a678;
    border-top-left-radius: 32px;
    box-shadow: 0 0 20px rgba(0, 0, 0, .3)
}

@media only screen and (max-width:37.5em) {
    .audio {
        width: auto;
        max-width: inherit
    }
}

.audio .audio__item {
    position: relative;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-align-items: center;
    align-items: center;
    margin-bottom: .75rem;
    color: #fff;
    font-size: 14px;
    font-size: calc(12px + (14 - 12)*((100vw - 320px)/(1680 - 320)));
    font-size: clamp(.875rem, 1.5vw, 1rem)
}

.audio .audio__item:last-of-type {
    margin-bottom: 0
}

.audio button {
    width: 40px;
    height: 40px;
    margin-right: .5rem;
    border: 2px solid #fff;
    border-radius: 50%;
    color: #fff
}
.icon--24 {
    width: 24px;
    height: 24px
}

.audio button.is-pausing .icon--audio-on,
.audio button.is-playing .icon--audio-off,
.nav--primary>ul>li.nav__item-label {
    display: none
}

.audio .audio__desc {
    position: fixed;
    left: 50%;
    bottom: 0;
    -webkit-transform: translate(-50%, 100%);
    transform: translate(-50%, 100%);
    width: 400px;
    padding: 1rem;
    background-color: #fff;
    box-shadow: 0 0 20px rgba(0, 0, 0, .2);
    border-top-left-radius: 32px;
    border-top-right-radius: 32px;
    color: #000;
    font-size: 14px;
    font-size: calc(12px + (14 - 12)*((100vw - 320px)/(1680 - 320)));
    font-size: clamp(.875rem, 1.5vw, 1rem);
    transition: 300ms ease
}

@media only screen and (max-width:48em) {
    .audio .audio__desc {
        left: 0;
        -webkit-transform: translate(0, 100%);
        transform: translate(0, 100%);
        width: 60%;
        border-top-left-radius: 0;
        border-top-right-radius: 0
    }
}

@media only screen and (max-width:37.5em) {
    .audio .audio__desc {
        width: 75%
    }
}

.audio .audio__desc.is-open {
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0)
}

@media only screen and (max-width:48em) {
    .audio .audio__desc.is-open {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0)
    }
}

@media only screen and (max-width:37.5em) {
    .audio .audio__title {
        display: none
    }
}

.audio .audio__wave {
    position: absolute;
    left: 50%;
    top: 55%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    color: #fff
}

@media only screen and (max-width:37.5em) {
    .audio .audio__wave {
        display: none
    }
}

.audio .audio__wave svg {
    height: 100px;
    opacity: .25
}

#line-9 {
    -webkit-animation: pulse 1s infinite;
    animation: pulse 1s infinite;
    -webkit-animation-delay: 1.35s;
    animation-delay: 1.35s
}

#line-5,
#line-6,
#line-7,
#line-8 {
    -webkit-animation: pulse 1s infinite;
    animation: pulse 1s infinite;
    -webkit-animation-delay: 1.2s;
    animation-delay: 1.2s
}

#line-5,
#line-6,
#line-7 {
    -webkit-animation-delay: 1.05s;
    animation-delay: 1.05s
}

#line-5,
#line-6 {
    -webkit-animation-delay: .9s;
    animation-delay: .9s
}

#line-5 {
    -webkit-animation-delay: .75s;
    animation-delay: .75s
}

#line-1,
#line-2,
#line-3,
#line-4 {
    -webkit-animation: pulse 1s infinite;
    /*! animation:pulse 1s infinite; */
    -webkit-animation-delay: .6s;
    animation-delay: .6s
}

#line-1,
#line-2,
#line-3 {
    -webkit-animation-delay: .45s;
    animation-delay: .45s
}

#line-1,
#line-2 {
    -webkit-animation-delay: .3s;
    animation-delay: .3s
}

#line-1 {
    -webkit-animation-delay: .15s;
    animation-delay: .15s
}
