/***** Bootstrap Grids - Start *****/
/*.frame-type-gridelements_pi1 {
    margin: 0 0 76px;
}
.frame-type-gridelements_pi1.frame-space-after-small {
    margin-bottom: 20px;
}
.frame-type-gridelements_pi1.frame-space-after-large {
    margin-bottom: 102px;
}*/
/***** Bootstrap Grids - End *****/

/***** News - Start *****/
.news {
    margin: 0 0 76px;
}
.topic .news {
    margin-bottom: 40px;
}
.news .article {
    position: relative;
    margin: 0 0 40px;
    padding: 0 0 30px;
}
.news .article.standard::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    border-bottom: 4px solid rgb(var(--color-primary));
    border-radius: 2px;
}
.news .article::after {
    content: '';
    clear: both;
    display: table;
}
.news .news-img-wrap {
    position: relative;
    margin: 0 0 10px;
}
.news .ce-bodytext .news-img-wrap a {
    padding: 0;
}
.news .news-list-category {
    display: inline-block;
    position: absolute;
    top: 13px;
    left: 12px;
    margin: 0 0 12px;
    padding: 0 10px;
    font: 400 22px/1.25 var(--font-2);
    color: #fff;
    text-transform: uppercase;
    border-radius: 5px;
    background-color: rgb(var(--color-secondary));
    z-index: 2;
}
.news .date {
    display: inline-block;
    position: relative;
    margin: 0 0 22px;
    font: 400 18px/1.5 var(--font-2);
    color: rgb(var(--color-primary));
    text-transform: uppercase;
}
.news .date::before {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 0;
    right: 0;
    border-bottom: 4px solid rgb(var(--color-primary));
    border-radius: 3px;
}
.news h2 {
    font-size: 24px;
    line-height: 1.41667;
}
.news-list-item .news-list-image {
    float: left;
    width: 526px;
    max-width: 100%;
    margin: 0 24px 24px 0;
}

.page-navigation {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}
.page-navigation .page-status {
    display: none;
    width: 100%;
    margin: 0 0 20px;
    text-align: center;
}
.page-navigation ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}
.page-navigation ul li {
    display: inline-block;
    width: 50px;
    text-align: center;
}
.page-navigation ul li a {
    display: block;
    height: 38px;
}
.page-navigation ul li a:hover {
    color: #fff;
    background-color: rgb(var(--color-primary));

    transition: all var(--transition-t1);
}
.page-navigation ul li.active {
    color: #fff;
    background-color: rgb(var(--color-secondary));
}
.page-navigation .next,
.page-navigation .previous {
    position: relative;
    display: inline-block;
    width: 38px;
    height: 38px;
    margin: 0 20px;
    padding: 0;
    cursor: pointer;
    text-indent: -9999em;
    overflow: hidden;

    transition: all var(--transition-t2);
}
.page-navigation .previous {
    top: -2px;
    transform: rotate(180deg);
}
.page-navigation ul li.next a,
.page-navigation ul li.previous a {
    background-color: transparent;
}
.page-navigation .next::before,
.page-navigation .previous::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 38px;
    height: 38px;
    background: url("../Images/bg-arrow-bg-magenta.svg") no-repeat;
    background-size: contain;
    opacity: 1;
    pointer-events: none;

    transition: all var(--transition-t2);
}
.page-navigation .next::after,
.page-navigation .previous::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 38px;
    height: 38px;
    background: url("../Images/bg-arrow-bg-blue.svg") no-repeat;
    background-size: contain;
    opacity: 0;
    pointer-events: none;

    transition: all var(--transition-t2);
}
.page-navigation .next:hover::before,
.page-navigation .previous:hover::before {
    opacity: 0;
}
.page-navigation .next:hover::after,
.page-navigation .previous:hover::after {
    opacity: 1;
}

.news-related-wrap {
    margin: 76px 0 0;
}
.news-related {
    position: relative;
    margin: 0 0 40px;
    padding: 20px 0 0 80px;
}
.news-related::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    border-top: 4px solid rgb(var(--color-primary));
    border-radius: 2px;
}
.news-related h3 {
    position: relative;
    margin: 0 0 16px;
    padding: 18px 0 0;
    font-size: 32px;
}
.news-related h3::before {
    content: '';
    position: absolute;
    top: 0;
    left: -84px;
    width: 69px;
    height: 68px;
}
.news-related.news-related-files h3::before {
    background: url("../Images/bg-title-icon-downloads.svg") no-repeat;
    background-size: contain;
}
.news-related.news-related-links h3::before {
    background: url("../Images/bg-title-icon-links.svg") no-repeat;
    background-size: contain;
}
.news-related ul.ce-uploads li {
    margin: 0 0 6px;
}
.news-related-links li {
    margin: 0 0 5px;
}
.news-related .ce-bodytext a {
    display: inline-block;
}
/***** News - End *****/

/***** News-Startseite - Start *****/
.home .news {
    margin: 0 0 20px;
}
.news-latest-item.first.article {
    padding-bottom: 0;
    margin-bottom: 10px;
}
.news-latest-item.first.article .news-img-wrap {
    margin: 0;
}
.news-latest-item.first.article .news-img-wrap::before {
    display: none;
}
.news-latest-item.first.article .text-box {
    position: relative;
    margin: -115px 115px 0;
    padding: 40px 72px;
    background-color: #fff;
}
.news-latest-item.first.article .text-box h2 {
    margin: 0 0 10px;
    font-size: 36px;
    line-height: 1.33333;
}
.news-latest-item.first.article .text-box a.more {
    position: relative;
    padding: 0 0 0 46px;
    text-decoration: none;
    color: rgb(var(--color-primary));
}
.news-latest-item.first.article .text-box p:empty {
    display: none;
}

.news .article.home {
    padding-bottom: 0;
    margin-bottom: 0;
}
.news .article.home .news-img-wrap::before {
    content: '';
    position: absolute;
    bottom: 23px;
    right: 24px;
    width: 35px;
    height: 35px;
    background: url("../Images/bg-arrow-white.svg");
    background-size: contain;

    transition: all var(--transition-t1);
}
.news .article.home .news-img-wrap:hover::before {
    right: 20px;
}

.category-tree {
    position: relative;
    width: 448px;
    max-width: 100%;
    margin: 0 auto;
    font: 400 26px/1.3077 var(--font-2);
    color: rgb(var(--color-primary));
    background-color: #f5f5f6;
}
.category-tree .select .selected {
    padding: 10px 52px 12px 52px;
    color: rgb(var(--color-primary));
}
.category-tree .select .selected::after {
    content: '';
    position: absolute;
    left: 13px;
    top: 10px;
    width: 25px;
    height: 29px;
    background: url("../Images/bg-icon-filter.svg") no-repeat;
    background-size: contain;
}
.category-tree .select > ul {
    padding: 12px 24px;
}
.category-tree .select ul {
    background-color: #f5f5f6;
}
.category-tree .select ul li {
    margin: 0 0 4px;
}
.category-tree .select ul li a.active {
    color: rgb(var(--color-secondary));
}
/***** News-Startseite - End *****/

/***** News 2-spaltig - Start *****/
.news .article.cols2 {
    padding: 0;
    margin: 0;
}
.news .article.cols2::before {
    display: none;
}
.news .article.cols2 .news-img-wrap::before {
    content: '';
    position: absolute;
    bottom: 23px;
    right: 24px;
    width: 35px;
    height: 35px;
    background: url("../Images/bg-arrow-white.svg");
    background-size: contain;

    transition: all var(--transition-t1);
}
.news .article.cols2 a:hover .news-img-wrap::before {
    right: 20px;
}
/***** News 2-spaltig - End *****/

/***** News Detailseite - Start *****/
.news.news-single .date {
    margin-bottom: 38px;
}
.news.news-single .news-img-wrap {
    margin-left: 0;
}
.news-img-caption {
    margin: 0;
    padding: 10px 0;
    font-size: 20px;
    color: rgb(var(--color-primary));
}
.news.news-single .news-img-wrap {
    float: right;
    width: 50%;
    margin: 0 0 24px 24px;
}
.mediaelement-image img {
    width: 100%;
}
.news-img-wrap-outer {
    margin: 0 0 40px;
}
/***** News Detailseite - End *****/

/***** News-Slider - Start *****/
.news-slider .owl-carousel {
    width: auto;
    margin: 0 -15px;
}
.news-list-slider-item {
    margin: 0 15px;
}
.news .article-slider .news-list-category {
    background-color: rgb(var(--color-primary));
}
.news .article-slider h2 a {
    text-decoration: none;
}
.news .owl-theme.news-slider .owl-nav {
    bottom: auto;
    height: 328px;
}
/***** News-Slider - End *****/

/***** Event-Slider - Start *****/
.eventslider {
    margin: 0 0 76px;
}
.eventslider .owl-carousel {
    width: auto;
    margin: 0 -15px;
}
.eventslider .owl-carousel .teaser {
    margin: 0 15px;
}
.eventslider .owl-carousel .teaser .image {
    position: relative;
    width: 412px;
    margin: 48px -105px 0 0;
    z-index: 2;
}
.eventslider .owl-carousel .teaser .text {
    position: relative;
    flex: 1 1 auto;
    max-width: 100%;
    padding: 48px 88px 48px 48px;
    background-color: rgb(var(--color-custom-2));
}
.eventslider .owl-carousel .teaser.has-image .text {
    margin: 0 0 48px;
    padding-left: 152px;
}
.eventslider .owl-carousel .teaser.tipp .text::before {
    display: block;
    width: 58px;
}
.eventslider .owl-carousel .teaser .text h2 {
    font-size: 24px;
}
.eventslider .owl-carousel .teaser.tipp .text h2 {
    padding: 0;
    font-size: 24px;
}
.eventslider .owl-carousel .teaser.tipp .text h2::before {
    display: none;
}
.eventslider .owl-carousel .teaser .text p {
    margin: 0;
}
.eventslider .owl-carousel .teaser .date {
    position: relative;
    display: inline-block;
    margin: 0 0 10px;
    padding: 0 0 4px;
    font-size: 18px;
    color: rgb(var(--color-primary));
}
.eventslider .owl-carousel .teaser .date::before {
    content: '';
    position: absolute;
    bottom: -4px;
    left: 0;
    right: 24px;
    border-bottom: 4px solid rgb(var(--color-primary));
    border-radius: 2px;
}
.eventslider .owl-carousel .teaser .bottom {
    position: absolute;
    bottom: 12px;
    right: 16px;
}
.eventslider .owl-carousel .teaser .bottom .more {
    display: block;
    width: 60px;
    height: 60px;
}
.eventslider .owl-carousel .teaser .bottom .more::before,
.eventslider .owl-carousel .teaser .bottom .more::after {
    width: 60px;
    height: 60px;
}
.eventslider.owl-theme .owl-nav {
    bottom: 60px;
}
/***** Event-Slider - End *****/

/***** Owl-Slider General - Start *****/
.owl-theme .owl-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin-top: 0;
    pointer-events: none;
}
.main .owl-theme .owl-nav [class*="owl-"] {
    display: block;
    width: 64px;
    height: 60px;
    margin: 0 -88px 0 0;
    padding: 0;
    color: inherit;
    font-size: inherit;
    border-radius: 0;
    pointer-events: auto;
    background: url("../Images/bg-arrow-bg-magenta.svg") no-repeat 0 center;
    background-size: 60px auto;
    text-indent: -9999em;
    overflow: hidden;
    transition: all var(--transition-t1);
}
.main .owl-theme .owl-nav [class*="owl-"].owl-prev {
    margin: 0 0 0 -88px;
    transform: rotate(180deg);
}
.main .owl-theme .owl-nav [class*="owl-"]:hover {
    background: url("../Images/bg-arrow-bg-magenta.svg") no-repeat 4px 0;
    background-size: 60px auto;
}
.main .owl-theme .owl-dots {
    display: none;
}
/***** Owl-Slider General - End *****/

/***** Powermail - Start *****/
.tx-powermail {
    margin: 0 0 76px;
    color: rgb(var(--color-font));
}

.tx-powermail h3 {
    display: none;
}

.rm-form {
    position: relative;
    margin: 0;
    padding: 0;
    font-size: 20px;
}

.rm-form fieldset {
    margin: 0 0 32px;
    padding: 0 0 12px;
    border-bottom: 3px solid #fff;
}
.rm-form fieldset:last-of-type {
    margin: 0;
    padding: 0;
    border: none;
}
fieldset legend {
    padding: 0;
    font: 500 26px/1.2 var(--font-1);
    color: rgb(var(--color-primary));
}
fieldset:first-of-type legend {
    display: none;
}
fieldset:first-of-type legend .page-title {
    border-bottom: 3px solid #fff;
}

.fieldset-inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.powermail_fieldwrap {
    flex: 0 0 auto;
    width: calc(50% - 6px);
    margin: 0 0 20px;
}
.powermail_fieldwrap_type_radio {
    width: 100%;
}

label.powermail_label {
    flex: 0 0 206px;
    align-items: flex-start;
    padding: 8px 0 0;
}
.powermail_field {
    width: calc(100%);
}
.powermail_field input[type="text"],
.powermail_field input[type="tel"],
.powermail_field input[type="date"],
.powermail_field input[type="number"],
.powermail_field input[type="password"],
.powermail_field input[type="email"],
.powermail_field textarea {
    width: 100%;
    margin-bottom: 16px;
    color: inherit;
    font-size: 20px;
    font-weight: 300;
    border: none;
    /*background-color: #fff;*/
}
.powermail_field textarea {
    resize: vertical;
    height: 220px;
    min-height: 220px;
    max-height: 480px;
}
.powermail_field input::-webkit-input-placeholder {
    color: rgba(255, 255, 255, .5);
}
.powermail_field input[type="date"] {
    width: auto;
}

/*.powermail_field.radio-fields {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}*/
.powermail_field.radio-fields .radio {
    margin-bottom: 16px;
}

.powermail_field .checkbox input,
.powermail_field .radio input {
    display: none;
}
.powermail_field .checkbox label,
.powermail_field .radio label {
    align-items: flex-start;
}
.powermail_field .checkbox .icon,
.powermail_field .radio .icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    margin: 7px 12px 0 0;
    background-color: rgba(var(--color-primary), .19);
}
.powermail_field .radio .icon {
    margin: 6px 10px 0 0;
    border-radius: 50%;
}
.powermail_field .checkbox input + label .icon::before {
    content: '';
    transform: rotate(-45deg);
    width: 10px;
    height: 6px;
    margin: -2px 0 0;
    border: 2px solid #48474a;
    border-top-style: none;
    border-right-style: none;
    opacity: 0;

    transition: all var(--transition-t1);
}
.powermail_field .checkbox input:checked + label .icon::before {
    opacity: 1;
}
.powermail_field .radio input + label .icon::before {
    content: '';
    width: 8px;
    height: 8px;
    /*margin: -4px 0 0;*/
    border-radius: 50%;
    background-color: rgb(var(--color-primary));
    opacity: 0;

    transition: all var(--transition-t1);
}
.powermail_field .radio input:checked + label .icon::before {
    opacity: 1;
}

.powermail_field a {
    font-weight: 300;
}

.btn-group {
    display: flex;
    justify-content: space-between;
    margin: 0 0 20px;
}
.rm-form input[type="submit"] {
    display: inline-block;
    margin: 14px 0 0;
    padding: 7px 15px 10px 52px;
    font: 24px/1.2 var(--font-1);
    color: #fff;
    font-weight: 700;
    border: none;
    background: url("../Images/bg-arrow-bg-magenta.svg") no-repeat 15px 15px;
    background-size: 31px auto;
}
.rm-form input[type="submit"].do-submit {
    color: #fff;
    background-color: rgb(var(--color-secondary));
}
.rm-form input[type="submit"].go-back {
    padding: 7px 15px 10px 15px;
    background: none;
    /*background-image: url("../Images/bg-arrow-left-white.svg");*/
}

.tx-powermail input[type="submit"] {
    position: relative;
    width: auto;
    padding: 13px 12px 11px 60px;
    font: 400 22px/1.32 var(--font-1);
    color: rgb(var(--color-primary));
    background: url("../Images/bg-arrow-bg-magenta.svg") no-repeat 15px 15px;
    background-size: 31px auto;

    transition: all var(--transition-t1);
}
.tx-powermail input[type="submit"]:hover {
    background-position-x: calc(19px);
}

ul.parsley-errors-list,
ul.powermail-errors-list {
    margin: 0;
    padding: 0;
    font-size: 14px;
    color: rgb(var(--color-error-3));
}
.content ul.parsley-errors-list li,
.content ul.powermail-errors-list li,
.main ul.parsley-errors-list li,
.main ul.powermail-errors-list li {
    margin: 0;
    padding: 0;
}
.content ul.parsley-errors-list li::before,
.content ul.powermail-errors-list li::before,
.main ul.parsley-errors-list li::before,
.main ul.powermail-errors-list li::before {
    display: none;
}
ul.parsley-errors-list li::before {
    display: none;
}
.powermail_field input[type="text"].parsley-error,
.powermail_field input[type="tel"].parsley-error,
.powermail_field input[type="date"].parsley-error,
.powermail_field input[type="password"].parsley-error,
.powermail_field input[type="email"].parsley-error {
    background-color: rgba(var(--color-error-3), .2);
}
/*.checkbox.parsley-error {
    padding: 10px;
    border: 1px solid rgb(var(--color-error-3));
}*/
/*.powermail_field .checkbox.parsley-error .icon,
.powermail_field .radio.parsley-error .icon {
    background-color: rgba(var(--color-primary), .2);
}*/

.rm-form.confirmation .title {
    font: 34px/1.23529 var(--font-1);
    color: rgb(var(--color-secondary));
}
.rm-form.confirmation .title .headline {
    color: #fff;
    border-bottom: 3px solid #fff;
}
.rm-form.confirmation .table-responsive {
    margin: 0 0 20px;
    border-collapse: separate;
    border-spacing: 0 20px;
}
.rm-form.confirmation .table-responsive tr {
    background-color: rgba(255,255,255,.32);
}
.rm-form.confirmation .table-responsive tr td {
    padding: 10px;
    vertical-align: top;
}
.rm-form.confirmation .table-responsive tr td strong {
    font-weight: 400;
}
.rm-form.confirmation .table-responsive tr td:nth-of-type(2) {
    font-style: italic;
}

.powermail_fieldwrap.powermail_fieldwrap_type_radio,
.powermail_fieldwrap.powermail_fieldwrap_type_check,
.powermail_fieldwrap.powermail_fieldwrap_type_html {
    display: block;
    width: 100%;
}
.powermail_fieldwrap.powermail_fieldwrap_type_html {
    margin: 0;
}
.powermail_fieldwrap.powermail_fieldwrap_type_html .powermail_field .powermail_field {
    margin: 0 0 20px;
}

.powermail_field .radio {
    display: inline-block;
    margin: 0 40px 0 0;
}
.powermail_field .radio label input {
    margin: 0 10px 0 0;
}
.powermail_fieldwrap.powermail_fieldwrap_type_submit {
    width: 100%;
    /*margin-top: 40px;*/
}

.tx-powermail td {
    vertical-align: top;
}
fieldset legend .page-title {
    margin: 0 0 20px;
    font-weight: 400;
    font-size: 26px;
}

/*.powermail_fieldwrap.powermail_fieldwrap_plz {
    float: left;
    width: 100px;
    margin: 0 20px 0 0;
}
.powermail_fieldwrap.powermail_fieldwrap_ort {
    float: left;
    width: calc(100% - 120px);
}
.powermail_fieldwrap.powermail_fieldwrap_ort + .powermail_fieldwrap::before {
    clear: both;
    content: '';
    display: table;
}*/

.powermail_field {
    position: relative;
}
.powermail_label {
    display: none;
}
.powermail_fieldwrap.powermail_fieldwrap_type_html .powermail_label,
.powermail_fieldwrap.powermail_fieldwrap_type_check .powermail_label,
.powermail_fieldwrap.powermail_fieldwrap_type_radio .powermail_label {
    display: block;
}
.powermail_fieldwrap.powermail_fieldwrap_type_html .powermail_label,
.powermail_fieldwrap.powermail_fieldwrap_type_check .powermail_label {
    font-weight: 500;
}
.floating-label {
    position: absolute;
    top: 14px;
    left: 12px;
    font-size: 18px;
    pointer-events: none;

    transition: all .2s;
}
input[data-mod="1"] ~ .floating-label {
    top: -20px;
    left: 2px;
    font-size: 11px;
    opacity: 1;
    color: rgb(var(--color-primary));
}
.tx-powermail .powermail_fieldwrap_type_date .powermail_label {
    display: block;
    font-weight: 400;
}

.tx-powermail .powermail_field .form_subheading {
    margin: 0 0 30px;
    padding: 0;
    font-size: 26px;
    font-weight: inherit;
    color: rgb(var(--color-primary));
    background: no-repeat;
}
/*.powermail_date {
    height: 56px;
    padding: 0 15px;
    font-size: 20px;
    font-family: inherit;
    color: inherit;
    background: rgba(var(--color-primary), .19);
}*/

.powermail_message_error {
    color: rgb(var(--color-error-3));
}

input[type="text"].powermail_field_error,
input[type="tel"].powermail_field_error,
input[type="date"].powermail_field_error,
input[type="password"].powermail_field_error,
input[type="email"].powermail_field_error,
textarea.powermail_field_error {
    color: rgb(var(--color-font));
    background-color: rgba(var(--color-error-3), .2);
}
input[type="text"].powermail_field_error + .floating-label,
input[type="tel"].powermail_field_error + .floating-label,
input[type="password"].powermail_field_error + .floating-label,
input[type="email"].powermail_field_error + .floating-label,
textarea.powermail_field_error + .floating-label {
    color: rgb(var(--color-font));
}
input[data-mod="1"].powermail_field_error ~ .floating-label {
    color: rgb(var(--color-primary));
}

.checkbox.powermail_field_error,
.radio.powermail_field_error,
.checkbox.parsley-error,
.radio.parsley-error {
    color: rgb(var(--color-error-3));
}
.checkbox.powermail_field_error .icon,
.radio.powermail_field_error .icon,
.checkbox.parsley-error .icon,
.radio.parsley-error .icon {
    background-color: rgb(var(--color-error-3));
}
.powermail_field .checkbox.powermail_field_error input + label .icon::before {
    border-color: #fff;
}
/***** Powermail - End *****/

/***** fe-login - Start *****/
.fe-login-form {
    margin: 0 0 76px;
}
.fe-login-form fieldset {
    margin-top: 32px;
}
.fe-login-form .login_input {
    margin: 0 0 20px;
}
.fe-login-form .login_input > label {
    display: none;
}
.fe-login-form .login_input .login-field {
    position: relative;
}
.fe-login-form .login_input .login-field input {
    margin: 0 0 16px;
}
.fe-login-form .login_button button,
.tx-felogin-pi1 .logout_button button {
    position: relative;
    padding: 0 12px 0 44px;
    font: 400 22px/1.32 var(--font-1);
    color: rgb(var(--color-primary));
    border: none;
    background: transparent;
    cursor: pointer;
}
.fe-login-form .login_button button::before,
.tx-felogin-pi1 .logout_button button::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 31px;
    height: 31px;
    background: url("../Images/bg-arrow-bg-magenta.svg") no-repeat;
    background-size: contain;

    transition: all var(--transition-t1);
}
.fe-login-form .login_button button:hover::before,
.tx-felogin-pi1 .logout_button button:hover::before {
    left: 4px;
}
.fe-login-form .error {
    color: rgb(var(--color-error-3));
}
/***** fe-login - End *****/

/***** Search-Box - Start *****/
.search-box {
    display: flex;
    justify-content: center;
    margin: 0 0 44px;
}
.search-box input[type="text"] {
    border: 3px solid rgb(var(--color-primary));
    background-color: #fff;
}
.search-box form {
    position: relative;
    max-width: 1006px;
    margin: 0 auto;
}
.search-box input[type="text"] {
    width: 1006px;
    height: 96px;
    padding: 0 32px;
    font: 400 26px/1 var(--font-2);
    color: rgb(var(--color-primary));
    border: 3px solid rgb(var(--color-primary));
    background-color: #fff;
}
.search-box input[type="text"]::placeholder {
    color: rgb(var(--color-primary));
    opacity: 1;
}
.search-box input[type="submit"] {
    position: absolute;
    top: calc(50% - 25px);
    right: 36px;
    width: 50px;
    height: 50px;
    padding: 0;
    background: url("../Images/bg-icon-lens.svg") no-repeat center;
    background-size: 49px auto;
    text-indent: -9999em;
}
/***** Search-Box - End *****/

/***** Nav-Search - Start *****/
nav.main .search {
    margin: 30px 0 0;
}
nav.main .search form {
    display: flex;
    position: relative;
}
nav.main .search input[type="text"] {
    width: 100%;
    height: 54px;
    padding: 0 16px;
    font: 400 26px/1 var(--font-2);
    color: rgb(var(--color-primary));
    border: 2px solid rgb(var(--color-primary));
    background-color: #fff;
}
nav.main .search input[type="text"]::placeholder {
    color: rgb(var(--color-primary));
    opacity: 1;
}
nav.main .search input[type="submit"] {
    position: absolute;
    top: calc(50% - 16px);
    right: 16px;
    width: 32px;
    height: 32px;
    padding: 0;
    background: url("../Images/bg-icon-lens.svg") no-repeat center;
    background-size: contain;
    text-indent: -9999em;
}
/***** Nav-Search - End *****/

/***** Suchergebnisse - Start *****/
.search-results {

}
.search-results-num {
    margin: 0 0 40px;
    font: 34px/1.23529 var(--font-2);
    color: rgb(var(--color-secondary));
    text-align: center;
}
.search-results .hit {
    color: rgb(var(--color-secondary));
}
.search-results .result-list-item {
    margin: 0 0 42px;
}
.search-results .result-title {
    font-family: var(--font-2);
    font-size: 26px;
    color: rgb(var(--color-primary));
    margin: 0 0 2px;
}
.search-results .result-teaser {
    display: block;
    margin: 0 0 10px;
}
.search-results .add-info {
    opacity: .7;
}

.search-pagebrowser .result-txt {
    text-align: center;
}
.search-pagebrowser.bottom .result-txt {
    display: none;
}
.search-pagebrowser.top .pagebrowser {
    margin: 0 0 40px;
}
.pagebrowser ul {
    display: flex;
    margin: 4px 14px 0;
}
.pagebrowser ul li a.prev,
.pagebrowser ul li a.next {
    position: relative;
    display: block;
    width: 30px;
    margin: 0 20px;
    text-indent: -9999em;
}
.pagebrowser ul li a.prev:hover,
.pagebrowser ul li a.next:hover {
    background-color: transparent;
}
.pagebrowser ul li a.next::before,
.pagebrowser ul li a.prev::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 38px;
    height: 38px;
    background: url("../Images/bg-arrow-bg-magenta.svg") no-repeat;
    background-size: contain;
    opacity: 1;
    transition: all var(--transition-t2);
}
.pagebrowser ul li a.prev::before {
    transform: rotate(180deg);
}
.pagebrowser ul li a.next:hover::before,
.pagebrowser ul li a.prev:hover::before {
    opacity: 0;
}
.pagebrowser ul li a.next::after,
.pagebrowser ul li a.prev::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 38px;
    height: 38px;
    background: url("../Images/bg-arrow-bg-blue.svg") no-repeat;
    background-size: contain;
    opacity: 0;
    transition: all var(--transition-t2);
}
.pagebrowser ul li a.prev::after {
    transform: rotate(180deg);
}
.pagebrowser ul li a.next:hover::after,
.pagebrowser ul li a.prev:hover::after {
    opacity: 1;
}
.pagebrowser ul li a.current {
    color: #fff;
    background-color: rgb(var(--color-secondary));
}
/***** Suchergebnisse - End *****/

/***** Page-Browser - Start *****/
.pagebrowser {
    display: flex;
    justify-content: center;
    margin: 0 0 76px;
    padding: 10px 0 0;
    border-top: 3px solid rgb(var(--color-primary));
}
.pagebrowser-top .pagebrowser {
    margin: 0 0 30px;
    padding: 0;
    border-top: none;
}
.pagebrowser .inner {
    display: flex;
    align-items: flex-start;
}
.pagebrowser .pages {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 4px 14px 0;
}
.content .pagebrowser ul li {
    padding: 0;
    margin: 0;
}
.content .pagebrowser ul li::before {
    display: none;
}
.pagebrowser ul li a {
    display: block;
    padding: 2px 11px 7px;
    text-decoration: none;

    transition: all var(--transition-t1);
}
/*.pagebrowser ul li.active a {
    color: #fff;
    background-color: rgb(var(--color-primary));
}*/
.pagebrowser ul li a:hover {
    color: #fff;
    background-color: rgb(var(--color-primary));
}
.pagebrowser .first-page,
.pagebrowser .previous-page,
.pagebrowser .next-page,
.pagebrowser .last-page {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 30px;
    margin: 14px 6px 0;
}
.pagebrowser .first-page::before {
    content: '';
    width: 0;
    height: 0;
    border-right: 11px solid rgb(var(--color-primary));
    border-top: 9px solid transparent;
    border-bottom: 9px solid transparent;

    transition: all var(--transition-t1);
}
.pagebrowser .first-page::after {
    content: '';
    width: 0;
    height: 0;
    margin: 0 0 0 3px;
    border-right: 11px solid rgb(var(--color-primary));
    border-top: 9px solid transparent;
    border-bottom: 9px solid transparent;

    transition: all var(--transition-t1);
}
.pagebrowser .previous-page::before {
    content: '';
    width: 0;
    height: 0;
    border-right: 11px solid rgb(var(--color-primary));
    border-top: 9px solid transparent;
    border-bottom: 9px solid transparent;

    transition: all var(--transition-t1);
}
.pagebrowser .next-page::before {
    content: '';
    width: 0;
    height: 0;
    border-left: 11px solid rgb(var(--color-primary));
    border-top: 9px solid transparent;
    border-bottom: 9px solid transparent;

    transition: all var(--transition-t1);
}
.pagebrowser .last-page::before {
    content: '';
    width: 0;
    height: 0;
    border-left: 11px solid rgb(var(--color-primary));
    border-top: 9px solid transparent;
    border-bottom: 9px solid transparent;

    transition: all var(--transition-t1);
}
.pagebrowser .last-page::after {
    content: '';
    width: 0;
    height: 0;
    margin: 0 0 0 3px;
    border-left: 11px solid rgb(var(--color-primary));
    border-top: 9px solid transparent;
    border-bottom: 9px solid transparent;

    transition: all var(--transition-t1);
}

.pagebrowser .first-page:hover::before,
.pagebrowser .first-page:hover::after {
    border-right-color: rgb(var(--color-secondary));
}
.pagebrowser .previous-page:hover::before {
    border-right-color: rgb(var(--color-secondary));
}
.pagebrowser .next-page:hover::before {
    border-left-color: rgb(var(--color-secondary));
}
.pagebrowser .last-page:hover::before,
.pagebrowser .last-page:hover::after {
    border-left-color: rgb(var(--color-secondary));
}
/***** Page-Browser - End *****/

/***** Aufklapper - Start *****/
.folder {
    margin: 0 0 76px;
}
/*.frame-type-gridelements_pi1 .folder:last-of-type {*/
/*    margin-bottom: 0;*/
/*}*/
.folder .fold {
    margin: 0 0 3px;
}
.folder .fold .fold-title {
    position: relative;
    padding: 14px 56px 14px 22px;
    font-weight: 400;
    color: rgb(var(--color-primary));
    border-bottom: 2px solid rgb(var(--color-primary));
    cursor: pointer;
}
.folder .fold .fold-title::before {
    content: '';
    position: absolute;
    top: 15px;
    right: 15px;
    width: 38px;
    height: 38px;
    background: url("../Images/bg-arrow-bg-blue.svg") no-repeat;
    background-size: contain;

    transition: all var(--transition-t2);
}
.folder .fold.active .fold-title::before {
    transform: rotate(90deg);
}
.folder .fold .fold-title button {
    margin: 0;
    padding: 0;
    font: inherit;
    color: inherit;
    border: none;
    background: no-repeat;
    cursor: pointer;
}
.folder .fold .fold-content {
    display: none;
    padding: 24px 22px 24px 22px;
}
.folder .fold .fold-content .text {
    display: flow-root;
}
.folder .fold .fold-content .frame {
    margin: 0;
}
.folder .fold .fold-content p {
    line-height: 1.26923;
}
.folder .fold .fold-content p:last-of-type {
    margin: 0;
}
.folder .fold .fold-content .image,
.folder .fold .fold-content .video {
    /*margin: 0 0 20px;*/
}
/*.folder .fold .fold-content .image.pos-1,
.folder .fold .fold-content .video.pos-1 {
    float: right;
    width: 50%;
    margin-left: 30px;
}
.folder .fold .fold-content .image.pos-2,
.folder .fold .fold-content .video.pos-2 {
    float: left;
    width: 50%;
    margin-right: 30px;
}
.folder .fold .fold-content .image.pos-3,
.folder .fold .fold-content .video.pos-3 {
    width: 100%;
}*/
.folder .fold .fold-content .image img,
.folder .fold .fold-content .video video {
    display: block;
    width: 100%;
    height: auto;
}
.folder .fold .fold-content .video {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
}
/*.folder .fold .fold-content .video.pos-1,
.folder .fold .fold-content .video.pos-2 {
    padding-bottom: 28.125%;
}*/
.folder .fold .fold-content .video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.folder .fold .fold-content .image .caption {
    padding: 4px 0 0;
    line-height: 1.5;
    font-style: italic;
}
/***** Aufklapper - End *****/

/***** Veranstaltungen - Start *****/
/*.tx-rmcalendarplus {
    background-color: #e4f2f7;
}*/
.teaser.tipp {
    display: flex;
}
.teaser.tipp .image {
    flex: 0 0 auto;
    width: 554px;
    max-width: 100%;
    margin: 0 32px 0 0;
}
.teaser.tipp .text::before {
    content: 'TIPP';
    display: inline-block;
    margin: 0 0 20px;
    padding: 2px 6px;
    font: 400 22px/1.25 var(--font-2);
    color: #fff;
    border-radius: 2px 4px 5px 3px;
    background-color: rgb(var(--color-secondary));
}
#page3 .teaser .date {
    display: none;
}
.teaser.tipp .text h2 {
    position: relative;
    padding: 0 0 20px;
    font: 400 36px/1.27777 var(--font-2);
}
.teaser.tipp .text h2::before {
    position: absolute;
    content: '';
    bottom: 0;
    left: 0;
    width: 72px;
    border-bottom: 4px solid rgb(var(--color-primary));
    border-radius: 2px;
}

.cal-searchbox {
    margin: 0 0 40px;
}
.cal-searchbox .header {
    display: flex;
}
.cal-searchbox .header .search-fold-title {
    position: relative;
    width: 50%;
    margin: 0 40px 0 0;
    padding: 12px 0 12px 20px;
    color: #fff;
    background-color: rgb(var(--color-primary));
    cursor: pointer;
}
.cal-searchbox .header .search-fold-title::before {
    content: '';
    position: absolute;
    top: 15px;
    right: 15px;
    width: 31px;
    height: 31px;
    background: url("../Images/bg-arrow-down-white.svg") no-repeat;
    background-size: contain;

    transition: all var(--transition-t3);
}
.cal-searchbox .header .search-fold-title.active::before {
    transform: rotate(180deg);
}
.cal-searchbox .fold-content {
    display: none;
    position: relative;
    padding: 20px 0 20px;
}
.cal-searchbox .searchfields {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 75%;
    padding: 0 20px;
}
.cal-searchbox .searchfields > div {
    width: calc(50% - 12px);
    margin: 0 0 20px;
}
.cal-searchbox .searchfields .cal-searchhead2 {
    width: 100%;
    margin: 0 0 10px;
}
.cal-searchbox .searchfields .cal-searchkatkat {
    display: none;
    width: 100%;
}
.cal-searchbox .fold-content::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    border-bottom: 4px solid rgb(var(--color-primary));
    border-radius: 2px;
}

.searchfields .cal-searchkatitem {
    display: inline-block;
    width: 33%;
    padding: 0;
    font-size: 18px;
}
.searchfields .cal-searchkatitem input {
    margin: 0;
    display: inline-block;
    padding: 0;
}
.cal-searchkatkat label {
    display: inline-block;
    margin-left: 8px;
}
.new-event-link {
    width: calc(50% - 40px);
    flex: 0 0 auto;
}
.new-event-link .button {
    display: block;
    padding: 10px 80px 10px 20px;
    border: 2px solid rgb(var(--color-primary));
}
.new-event-link .button::before,
.new-event-link .button::after {
    left: auto;
    right: 15px;
    top: 9px;
}

.cal-cal input[type="text"],
.cal-searchserachwrap input[type="text"],
.cal-searchplzortwrap input[type="text"] {
    width: 100%;
    height: 57px;
    font-size: 18px;
    color: inherit;
}
.cal-calselect,
.cal-formflowwrap select,
.cal-formflowwrap-bs select {
    width: 100%;
    padding: 5px 12px;
    font-size: 18px;
    color: inherit;
    border: none;
    background-color: rgba(var(--color-primary), .19);
}
.cal-searchkatwrap {
    padding: 8px 12px;
    font-size: 18px;
    color: inherit;
    background: rgba(var(--color-primary), .19) url("../Images/bg-icon-filter.svg") calc(100% - 15px) center no-repeat;
    background-size: 24px auto;
    cursor: pointer;
}
.searchfields .cal-submiter.button {
    margin: 12px 0 20px;
    font-size: 24px;
    cursor: pointer;
}
.searchfields .cal-submiter.button:hover {
    color: rgb(var(--color-primary));
}

.map-fold-title {
    position: relative;
    display: flex;
    display: none;
    justify-content: flex-end;
    margin: 0 0 20px;
    padding: 0 0 26px;
}
/*.map-fold-title::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    border-bottom: 4px solid rgb(var(--color-primary));
    border-radius: 2px;
}*/
.map-fold-title .icon {
    position: relative;
    display: block;
    height: 54px;
    padding: 0 66px 0 0;
    line-height: 50px;
    font-size: 24px;
    color: rgb(var(--color-primary));
}
.map-fold-title .icon::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 54px;
    height: 54px;
    background: url("../Images/bg-icon-event-location.svg") no-repeat;
    background-size: contain;
}
.map-wrapper .fold-content {
    /*display: none;*/
    position: relative;
    padding: 0 0 1px;
    margin: 0 0 60px;
}
.map-wrapper .fold-content .inner {
    padding: 22px 40px 40px;
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1);
}
.map-wrapper .fold-content .title {
    display: flex;
    justify-content: space-between;
    margin: 0 0 24px;
}
.map-wrapper .fold-content .title .headline {
    margin: 2px 0 0;
}
.map-wrapper .fold-content .btn-close {
    position: relative;
    padding: 0 66px 0 0;
    font-size: 24px;
    color: rgb(var(--color-primary));
    cursor: pointer;
}
.map-wrapper .fold-content .btn-close::before {
    content: '';
    position: absolute;
    top: -6px;
    right: 0;
    width: 54px;
    height: 54px;
    background: url("../Images/bg-icon-close.svg") no-repeat;
    background-size: contain;
}

.crd-map {
    height: 600px;
}
.crd-map {
    padding: 2.5% 5% 3% 5%;
    width: 100%;
    background-color: rgba(0, 0, 0, 0.7);
    color: #ffffff;
}
/***** Veranstaltungen - End *****/

/***** Veranstaltungen - List - Start *****/
#res {
    margin-top: -20px;
}
.cal-listallwrap .cal-wrapitem {
    margin: 0 0 15px;
    padding: 30px;
    background-color: #f5f5f6;
}
.cal-itemdatehead {
    position: relative;
    margin: -30px -30px 20px;
    padding: 32px 0 20px;
    background-color: #fff;
}
.cal-itemdatehead::before {
    content: '';
    position: absolute;
    top: 12px;
    left: 0;
    right: 0;
    border-top: 4px solid rgb(var(--color-primary));
    border-radius: 2px;
}
.cal-itemdatehead .cal-daticon > div {
    display: none;
}
.cal-itemdatehead .cal-daticon {
    position: absolute;
    top: 32px;
    left: 0;
    width: 69px;
    height: 69px;
    background: url("../Images/bg-icon-events.svg") no-repeat;
    background-size: contain;
}
.cal-itemdatehead .cal-datstr {
    height: 69px;
    margin: 0 0 0 80px;
    font: 400 32px/74px Bitter;
    color: rgb(var(--color-primary));
}
.cal-itemdates {
    position: relative;
    margin: 0 0 18px;
    padding: 0 0 26px;
    font-weight: 500;
}
.cal-itemdates::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 2px;
    width: 58px;
    border-bottom: 4px solid rgb(var(--color-primary));
    border-radius: 2px;
}
.cal-itemtitle {
    font: 400 26px/1.30769 var(--font-2);
    color: rgb(var(--color-primary));
}
.cal-itemdesc b {
    font-weight: 400;
}
.cal-itemdesc .cal-itemdescinner br {
    display: none;
}
.cal-itemservice {
    display: flex;
    margin: 40px 0 0;
}
.cal-itemdetail {
    margin: 0 40px 0 0;
    color: rgb(var(--color-primary));
}
.cal-todetailmap {
    position: relative;
    display: inline-block;
    padding: 0 0 0 32px;
    color: rgb(var(--color-primary));
    cursor: pointer;
}
.cal-itemservice a {
    position: relative;
    display: inline-block;
    padding: 0 0 0 32px;
    color: rgb(var(--color-primary));
}
.cal-itemservice a::before {
    content: '';
    position: absolute;
    top: 5px;
    left: 0;
    width: 22px;
    height: 22px;

    transition: all var(--transition-t1);
}
.cal-itemservice .cal-itemdetail a::before {
    background: url("../Images/bg-arrow-circle-blue.svg");
    background-size: contain;
}
.cal-bubble .cal-todetailmap::before {
    background: url("../Images/bg-arrow-circle-blue.svg");
    background-size: contain;
    content: '';
    position: absolute;
    top: 5px;
    left: 0;
    width: 22px;
    height: 22px;
    transition: all var(--transition-t1);
}

.cal-itemservice .cal-itemdetail a:hover::before,
.cal-bubble .cal-todetailmap:hover::before {
    left: 4px;
}
.cal-itemservice .cal-itemical a::before {
    background: url("../Images/bg-icon-export.svg") no-repeat;
    background-size: contain;
}
.cal-itemservice .cal-itemical a:hover::before {
    transform: rotate(45deg);
}

.cal-nav {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    margin: 40px 0;
    padding: 40px 0;
}
.cal-nav::before,
.cal-nav::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    border-top: 4px solid rgb(var(--color-primary));
    border-radius: 2px;
}
.cal-nav::after {
    top: auto;
    bottom: 0;
}
.cal-nav .bck,
.cal-nav .fw {
    position: relative;
    display: block;
    padding: 0;
    width: 38px;
    height: 38px;
    cursor: pointer;

    transition: all var(--transition-t2);
}
.cal-nav .bck {
    top: -2px;
    transform: rotate(180deg);
}
.bck.inact,
.fw.inact {
    opacity: .5;
    pointer-events: none;
}
.cal-nav .bck::before,
.cal-nav .fw::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 38px;
    height: 38px;
    background: url("../Images/bg-arrow-bg-magenta.svg") no-repeat;
    background-size: contain;
    opacity: 1;

    transition: all var(--transition-t2);
}
.cal-nav .bck:hover::before,
.cal-nav .fw:hover::before {
    opacity: 0;
}
.cal-nav .bck::after,
.cal-nav .fw::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 38px;
    height: 38px;
    background: url("../Images/bg-arrow-bg-blue.svg") no-repeat;
    background-size: contain;
    opacity: 0;

    transition: all var(--transition-t2);
}
.cal-nav .bck:hover::after,
.cal-nav .fw:hover::after {
    opacity: 1;
}
.cal-nav .wrapcntwrap {
    margin: 0 20px;
}
.cal-nav .cal-p {
    display: none;
}
.wrapcnt {
    display: inline-block;
    width: 50px;
    padding: 2px 0;
    text-align: center;
    cursor: pointer;

    transition: all var(--transition-t2);
}
.wrapcnt.wrapcnt-active {
    color: #fff;
    background-color: rgb(var(--color-secondary));
}
/***** Veranstaltungen - List - End *****/

/***** Veranstaltungen - Detail - Start *****/
.cal-detailwrap {
    position: relative;
    margin: 0 0 76px;
    padding: 20px 0 0 72px;
}
.cal-detailwrap::before {
    content: '';
    position: absolute;
    top: 0;
    left: -6px;
    width: 68px;
    height: 68px;
    background: url("../Images/bg-icon-events.svg") no-repeat;
    background-size: contain;
}
.cal-detailwrap .cal-daticon {
    display: none;
}
.cal-detailwrap .cal-detheadtop {
    margin: 0 0 32px;
    font: 400 32px/1.0625 var(--font-2);
    color: rgb(var(--color-primary));
}
.cal-detailwrap h2.cal-detheadbottom {
    font-size: 26px;
    line-height: 1.30769;
}
.cal-detailwrap .cal-dettext picture {
    width: 50%;
    float: right;
    margin: 0 0 20px 20px;
}
.cal-detailwrap .cal-detwrap::after {
    display: table;
    content: "";
    clear: both;
}
.cal-detailwrap .cal-detcats {
    margin: 0 0 20px;
    font-size: 20px;
}
.cal-detailwrap .cal-detaddresswrap {
    display: flex;
    margin: 0 0 28px;
}
.cal-detailwrap .cal-detaddresswrap .cal-detaddressleft {
    flex: 0 0 auto;
    width: 176px;
    font-weight: 500;
}

.cal-detfooter {
    display: flex;
    position: relative;
    margin: -2px 0 0 -78px;
    padding: 20px 0 0;
}
.cal-detfooter::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    border-top: 4px solid rgb(var(--color-primary));
    border-radius: 2px;
}
.cal-detfooter a {
    position: relative;
    display: inline-block;
    padding: 0 0 0 32px;
    color: rgb(var(--color-primary));
}
.cal-detfooter a::before {
    content: '';
    position: absolute;
    top: 5px;
    left: 0;
    width: 22px;
    height: 22px;
    transition: all var(--transition-t1);
}
.cal-detfooter .cal-detfooterleft {
    margin: 0 90px 0 0;
}
.cal-detfooter .cal-detfooterleft a::before {
    background: url("../Images/bg-arrow-circle-blue.svg") no-repeat;
    background-size: contain;
    transform: rotate(180deg);
}
.cal-detfooter .cal-detfooterleft a:hover::before {
    left: -4px;
}
.cal-detfooter .cal-detfooterright a::before {
    background: url("../Images/bg-icon-export.svg") no-repeat;
    background-size: contain;
}
.cal-detfooter .cal-detfooterright a:hover::before {
    transform: rotate(45deg);
}
/***** Veranstaltungen - Detail - End *****/

/***** Veranstaltung eintragen - Start *****/
.cal-wrap .cal-intro {
    margin: 0 0 16px;
}
.cal-wrap .cal-introsub {
    margin: 0 0 20px;
}
.cal-wrap fieldset {
    position: relative;
    margin: 0 0 40px;
    padding: 0 0 40px;
}
.cal-wrap fieldset legend {
    margin: 0 0 20px;
}
.cal-wrap .cal-formflowwrap-bs {
    margin-bottom: 20px;
}
.cal-wrap fieldset::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    border-bottom: 4px solid rgb(var(--color-primary));
    border-radius: 2px;
}
.cal-wrap fieldset:last-of-type::before {
    display: none;
}
.cal-wrap .cal-input {
    width: 100%;
}
.cal-wrap input[type="file"] {
    font: 400 22px/1 var(--font-1);
}
.cal-wrap .cal-cats {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.cal-wrap .cal-catsleft,
.cal-wrap .cal-catsright {
    display: flex;
    flex-wrap: wrap;
    flex: 0 0 auto;
    width: 50%;
}
.cal-wrap .cal-catsleft > div,
.cal-wrap .cal-catsright > div {
    display: flex;
    align-items: flex-start;
    flex: 0 0 auto;
    width: 50%;
}
.cal-wrap .cal-catsleft > div input,
.cal-wrap .cal-catsright > div input {
    margin: 14px 12px 0 0;
}
.cal-wrap .cal-catsleft > div input {
    margin-top: 11px;
}
.cal-wrap .cal-formflowwrap-bs label {
    display: inline-block;
}
.cal-wrap #strasse {
    display: inline-block;
    width: 80%;
}
.cal-wrap #hausnummer {
    display: inline-block;
    width: calc(20% - 24px);
    margin-left: 24px;
}
.cal-wrap #plz {
    display: inline-block;
    width: 18%;
}
.cal-wrap #ort {
    display: inline-block;
    width: calc(82% - 24px);
    margin-left: 24px;
}
.cal-wrap .cal-submit,
.cal-wrap .cal-submitcng {
    position: relative;
    width: auto;
    padding: 13px 12px 11px 60px;
    font: 400 22px/1.32 var(--font-1);
    color: rgb(var(--color-primary));
    border: none;
    background: url("../Images/bg-arrow-bg-magenta.svg") no-repeat 15px 15px;
    background-size: 31px auto;
    cursor: pointer;

    transition: all var(--transition-t1);
}
.cal-wrap .cal-submit:hover,
.cal-wrap .cal-submitcng:hover {
    background-position-x: 19px;
}
/***** Veranstaltung eintragen - End *****/

/***** Veranstaltungen - DatePicker - Start *****/
#datepicker {
    overflow: hidden;
}
.dpTable {
    width: 261px;
    font-size: 17px;
    border: none;
    border-top: 4px solid #0c7a9e;
    background-color: #fff;
    box-shadow: 0 0 24px 0 rgba(0, 0, 0, 0.28);
}
.dpTable button {
    background-color: #fff;
    border:  none;
    cursor: pointer;
}
.dpTable .dpTitleTR {
    background-color: #f5f5f5;
}
.dpTable .dpDayTD {
    width: 26px;
    text-align: center;
    color: #376591;
}
.dpTable .dpTD,
.dpDayHighlightTD {
    padding: 2px 0;
    text-align: center;
    cursor: pointer;
    color: #df0056;
}
.dpTable .dpTD.dpTDact:hover,
.dpDayHighlightTD:hover {
    color: #fff;
    background-color: #df0056;
}
.dpTable .dpTitleText {
    padding: 7px;
    font-size: 17px;
    font-weight: 500;
    color: #376591;
    text-align: center;
    cursor: pointer;
}
.dpTable .dpButton {
    width: 17px;
    height: 17px;
    margin: 4px 0 0 10px;
    text-indent: -9999em;
    background: url("../Images/bg-arrow-circle-blue.svg") no-repeat;
    background-size: contain;
    cursor: pointer;
    z-index: 1;
    transform: rotate(180deg);
}
.dpTable .dpTitleTR td:nth-of-type(3) .dpButton {
    background: url("../Images/bg-arrow-circle-blue.svg") no-repeat;
    background-size: contain;
    transform: rotate(0);
}
.dpTable .dpTR {
    border-top: 2px solid #fff;
    border-bottom: 2px solid #fff;
    background-color: #fff;
}
.dpTodayButtonTR {
    background-color: #f5f5f5;
}
.dpTable .dpTodayButtonTR button {
    width: 48%;
    padding: 6px 0;
    font-size: 14px;
    color: #376591;
    border: none;
    background-color: #f5f5f5;
    cursor: pointer;
}

#calenders {
    width: 360px;
    height: 252px;
}
.cal-calenders {
    position: relative;
}
.cal-calenders .bck {
    position: absolute;
    top: 12px;
    left: 13px;
    width: 17px;
    height: 17px;
    background: url("../Images/bg-arrow-circle-blue.svg") no-repeat;
    background-size: contain;
    z-index: 1;
    cursor: pointer;
    transform: rotate(180deg);
}
.cal-calenders .fw {
    position: absolute;
    top: 12px;
    left: 330px;
    width: 17px;
    height: 17px;
    background: url("../Images/bg-arrow-circle-blue.svg") no-repeat;
    background-size: contain;
    z-index: 1;
    cursor: pointer;
    transform: rotate(0);
}
.cal-table-wrap {
    /*border: solid 1px #dbdbdb;*/
}
.cal-table {
    width: 100%;
    border:0 none;
    border-collapse:collapse;
    border-spacing:0;
    background-color: #fff;
}
.cal-table tr td {
    line-height: 28px;
    text-align: center;
}
.cal-table tr td.cal-table-b {
    color: #999;
}
.cal-table .cal-table-days td {
    line-height: 30px;
}
td.cal-table-over {
    padding: 7px 0;
    font-size: 17px;
    font-weight: 500;
    color: #376591;
    background-color: #f5f5f5;
}
.cal-table-first {
    /*border-left: 3px solid #fff;*/
}
.cal-table-last {
    /*border-right: 3px solid #fff;*/
}
.cal-table-days {
    color: #376591;
    padding-top: 2px;
    padding-bottom: 2px;
}
.cal-table-num {
    color: #df0056;
    padding-top: 2px;
    padding-bottom: 2px;
    border-top: 2px solid #fff;
    border-bottom: 2px solid #fff;
    background-color: #f5f5f6;
}
.cal-table-h:hover {
    background-color: #df0056;
    color: #fff;
    cursor: pointer;
}

#dates {
    margin: 25px 0 15px;
}
#dates::after {
    content: "";
    display: table;
    clear: both;
}
.cal-dates-wrap {
    display: none;
    margin: 0 0 23px;
}
.cal-dates-wrap::after {
    content: "";
    display: table;
    clear: both;
}
.cal-dates-wrap div {
    margin: 0 12px 0 0;
    line-height: 38px;
}
.cal-dates-date, .cal-dates-txt, .cal-dates-select, .cal-dates-kill {
    float: left;
}
.cal-dates-wrap .cal-dates-date {
    margin-right: 59px;
    padding: 0 11px;
    color: #fff;
    background-color: #df0056;
}
.cal-dates-wrap .cal-dates-select-0,
.cal-dates-wrap .cal-dates-select-2 {
    margin-right: 5px;
}
.cal-dates-wrap .cal-dates-select-1 {
    margin-right: 30px;
}
.cal-dates-wrap div select {
    padding: 5px 11px;
    color: #3c3c3c;
    border: none;
    background-color: #f5f5f6;
}
.cal-dates-kill {
    color: #376591;
    /*background: url(kill.png) right center no-repeat;*/
    cursor: pointer;
}
.tx-rmcalendarplus .cfrm-error {
    /*border: 1px solid #bb0000;*/
    background-color: rgba(var(--color-error-3), .2);
}
.cal-nodates {
    margin-bottom: 15px;
    color: rgb(var(--color-error-3));
    background-color: transparent;
}
.cal-nodcats {
    margin-bottom: 15px;
    color: rgb(var(--color-error-3));
    background-color: transparent;
}
/***** Veranstaltungen - DatePicker - End *****/

/***** Flexslider - Start *****/
.flexslider {
    border: none;
    z-index: 2;
}
.flexslider .slidercontent {
    position: relative;
}
.flexslider .caption-wrapper {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    pointer-events: none;
}
.flexslider .caption-wrapper::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 35%;
    background: transparent linear-gradient(0deg, rgba(var(--color-secondary)) 0%, rgba(99, 207, 239, 0) 100%);
}
.flexslider .caption-text {
    position: absolute;
    top: auto;
    bottom: 0;
    left: 0;
    right: 0;
    width: auto;
    padding: 0 100px 32px 50px;
    color: #fff;
    background: transparent;
}
.flexslider .caption-text::before {
    content: '';
    position: absolute;
    bottom: 36px;
    right: 36px;
    width: 55px;
    height: 55px;
    background: url("../Images/bg-arrow-white.svg") no-repeat;
    background-size: contain;

    transition: all var(--transition-t1);
}
.flexslider li:hover .caption-text::before {
    right: 26px;
}
.flexslider .caption-align-left .caption-text {
    left: 0;
}
.flexslider .caption-align-right .caption-text {
    right: 0;
}
.flexslider .title .headline {
    position: relative;
    margin: 0 0 20px;
    padding: 0 0 34px;
    font: 400 36px/1.25 var(--font-2);
}
.flexslider .title .headline::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 130px;
    border-bottom: 4px solid #fff;
    border-radius: 2px;
}

.flex-direction-nav a {
    width: 60px;
    height: 60px;
    margin: -30px 0 0;
    opacity: 1;
    text-shadow: none;
    text-indent: -9999em;
}
.flex-direction-nav .flex-next {
    text-align: left;
}
.flex-direction-nav a::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 60px;
    height: 60px;
    background: url("../Images/bg-arrow-bg-magenta.svg") no-repeat;
    background-size: contain;
    text-shadow: none;
    opacity: 1;

    transition: all var(--transition-t2);
}
.flex-direction-nav a:hover::before {
    opacity: 0;
}
.flex-direction-nav a::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 60px;
    height: 60px;
    background: url("../Images/bg-arrow-bg-blue.svg") no-repeat;
    background-size: contain;
    text-shadow: none;
    opacity: 0;

    transition: all var(--transition-t2);
}
.flex-direction-nav a:hover::after {
    opacity: 1;
}
.flex-direction-nav .flex-nav-prev a::before {
    transform: rotate(180deg);
}
.flex-direction-nav .flex-nav-prev a::after {
    transform: rotate(180deg);
}
.flex-direction-nav .flex-prev,
.flexslider:hover .flex-direction-nav .flex-prev {
    left: -80px;
    opacity: 1;
}
.flex-direction-nav .flex-next,
.flexslider:hover .flex-direction-nav .flex-next {
    right: -80px;
    opacity: 1;
}
.flex-direction-nav a.flex-next::before {
    content: '';
}
/***** Flexslider - End *****/

/***** rm_calendarplus - Start *****/
.main p.cal-bubble {
    font: 400 20px/1.63636 var(--font-lsu);
    color: rgb(var(--color-font));
}
.main p.cal-bubble > b {
    color: rgb(var(--color-primary));
}
.main .cal-itemdeschigh {
    color: rgb(var(--color-error-3));
}
/***** rm_calendarplus - End *****/

/***** Social GDPR - Start *****/
.social-gdpr-youtube-video, .social-gdpr-vimeo-video, .social-gdpr-google-maps, .social-gdpr-osm-map {
    width: 100%;
    height: 100%;
    background-color: #f5f5f6;
}
/***** Social GDPR - End *****/