/*
******************************************************************
(c) sinntun.codes
******************************************************************
*/

/*****************************************************************
**** Commons (PageElement-übergreifend)
******************************************************************/

.contentbox,
.contentbox-main,
.contentbox-info {
    box-sizing: border-box;
    overflow: hidden;
    position: relative;
}

/*
.contentbox.highlighted {
  overflow: visible;
}

.contentbox.highlighted + .contentbox.highlighted {
  margin-top: -3.4375rem;
  padding-top: 3.4375rem;
}
*/

/*** .contentbox
allgemeines Content Element
******************************************************************/

.contentbox {
    width: 100%;
}

/*** .contentbox-main
allgemeines Content Element in der Main-Spalte
******************************************************************/

.contentbox-main {
    margin-bottom: 3.4375rem;
}

/*** .contentbox-info
allgemeines Element in der Infospalte
******************************************************************/

.contentbox-info {
    clear: both;
    margin-bottom: 3.4375rem;
}

/*** Highlighting
******************************************************************/

.contentbox.highlighted {
    background-color: #fff;
    overflow: visible;
    padding-bottom: 2.1875rem;
}

.contentbox.highlighted:has(+ .contentbox.highlighted) {
    margin-bottom: -6.25rem;
    padding-bottom: 9.6875rem;
}


.contentbox .background_highlight {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: calc(-1 * (100vw - 87.5rem) / 2);
    right: calc(-1 * (100vw - 87.5rem) / 2);
    background: #fff;
    z-index: -1;
}

.contentbox:not(.highlighted) + .contentbox.highlighted,
#main-elements-container .contentbox.highlighted:first-child {
    padding-top: 0.9375rem;
    margin-top: 6.25rem;
}

.contentbox:not(.highlighted) + .contentbox.highlighted:before,
#main-elements-container .contentbox.highlighted:first-child:before {
    content: '';
    position: absolute;
    top: -3.75rem;
    bottom: 100%;
    left: calc(-1 * (100vw - 87.5rem) / 2);
    right: calc(-1 * (100vw - 87.5rem) / 2);
    background: url('/_images/element-wave.png') no-repeat;
    background-size: 100% 100%;
    transform: translateY(0.1875rem);
    z-index: -10;
}

.contentbox.highlighted:has(+ .contentbox:not(.highlighted)),
#main-elements-container .contentbox.highlighted:last-child {
    padding-bottom: 2.8125rem;
    margin-bottom: 6.25rem;
}

.contentbox.highlighted:has(+ .contentbox:not(.highlighted)):after,
#main-elements-container .contentbox.highlighted:last-child:after {
    content: '';
    position: absolute;
    top: 100%;
    bottom: -3.75rem;
    left: calc(-1 * (100vw - 87.5rem) / 2);
    right: calc(-1 * (100vw - 87.5rem) / 2);
    background: url('/_images/element-wave.png') no-repeat;
    background-size: 100% 100%;
    transform: translateY(-0.1875rem) rotate(180deg);
    z-index: -10;
}

@media only screen and (min-width: 120rem) {
    .contentbox .background_highlight {
        left: -16.25rem;
        right: -16.25rem;
    }

    .contentbox:not(.highlighted) + .contentbox.highlighted:before,
    #main-elements-container .contentbox.highlighted:first-child:before {
        left: -16.25rem;
        right: -16.25rem;
    }

    .contentbox.highlighted:has(+ .contentbox:not(.highlighted)):after,
    #main-elements-container .contentbox.highlighted:last-child:after {
        left: -16.25rem;
        right: -16.25rem;
    }
}

@media only screen and (max-width: 93.75rem) {
    .contentbox .background_highlight {
        left: calc(-1 * (100vw - 81.25rem) / 2);
        right: calc(-1 * (100vw - 81.25rem) / 2);
    }

    .contentbox:not(.highlighted) + .contentbox.highlighted:before,
    #main-elements-container .contentbox.highlighted:first-child:before {
        left: calc(-1 * (100vw - 81.25rem) / 2);
        right: calc(-1 * (100vw - 81.25rem) / 2);
    }

    .contentbox.highlighted:has(+ .contentbox:not(.highlighted)):after,
    #main-elements-container .contentbox.highlighted:last-child:after {
        left: calc(-1 * (100vw - 81.25rem) / 2);
        right: calc(-1 * (100vw - 81.25rem) / 2);
    }
}

@media only screen and (max-width: 87.5rem) {
    .contentbox .background_highlight {
        left: -3.125rem;
        right: -3.125rem;
    }

    .contentbox:not(.highlighted) + .contentbox.highlighted:before,
    #main-elements-container .contentbox.highlighted:first-child:before {
        left: -3.125rem;
        right: -3.125rem;
    }

    .contentbox.highlighted:has(+ .contentbox:not(.highlighted)):after,
    #main-elements-container .contentbox.highlighted:last-child:after {
        left: -3.125rem;
        right: -3.125rem;
    }
}

@media only screen and (max-width: 32.5rem) {
    .contentbox:not(.highlighted) + .contentbox.highlighted:before,
    #main-elements-container .contentbox.highlighted:first-child:before,
    .contentbox.highlighted:has(+ .contentbox:not(.highlighted)):after,
    #main-elements-container .contentbox.highlighted:last-child:after {
        background: url('/_images/element-wave-mobile.png') no-repeat;
        top: -1.25rem;
        bottom: -1.25rem;
        background-size: 100% 1.25rem;
    }

    .contentbox:not(.highlighted) + .contentbox.highlighted,
    #main-elements-container .contentbox.highlighted:first-child {
        margin-top: 4.375rem;
    }

    .contentbox.highlighted:has(+ .contentbox:not(.highlighted)),
    #main-elements-container .contentbox.highlighted:last-child {
        margin-bottom: 4.375rem;
    }
}

/*** .text-image
zweispaltiges Text Bild Element
******************************************************************/

.pageelement-text-image .container {
    display: flex;
    gap: 2.1875rem;
    font-size: 1.125rem;
}

.pageelement-text-image .container .left,
.pageelement-text-image .container .right {
    display: flex;
    gap: 2.1875rem;
    flex-flow: column;
    width: 50%;
}

.pageelement-text-image .container .image {
    border-radius: 0.625rem;
    overflow: hidden;
}

@media only screen and (max-width: 32.5rem) {
    .pageelement-text-image .container {
        flex-flow: column;
    }

    .pageelement-text-image .container .left,
    .pageelement-text-image .container .right {
        width: 100%;
    }
}

/*** .text-image-wide
zweispaltiges Text Bild Element
******************************************************************/

.pageelement-text-image-wide .container {
    display: flex;
    flex-flow: column;
    gap: 1.25rem;
    font-size: 1.125rem;
}

.pageelement-text-image-wide .container .image {
    width: 100%;
    border-radius: 0.625rem;
    overflow: hidden;
}

.pageelement-text-image-wide .container .text {
    max-width: calc(50% - 1.09375rem);
}

.pageelement-text-image-wide .container .text h3 {
    font-size: 1.375rem;
    font-weight: 700;
    font-family: 'Open Sans Bold', sans-serif;
}

@media only screen and (max-width: 64rem) {
    .pageelement-text-image-wide .container .text {
        max-width: 62.5rem;
    }
}


/*** .text
zweispaltiges Text Bild Element
******************************************************************/

.pageelement-text .content {
    display: flex;
    gap: 2.1875rem;
    font-size: 1.125rem;
}

.pageelement-text .headline {
    margin-bottom: 1.25rem;
}

.pageelement-text .container .left,
.pageelement-text .container .right {
    display: flex;
    gap: 2.1875rem;
    flex-flow: column;
    width: 50%;
}

.pageelement-text .container h3 {
    font-size: 1.375rem;
    font-weight: 700;
    font-family: 'Open Sans Bold', sans-serif;
}

.pageelement-text .container .image {
    border-radius: 0.625rem;
    overflow: hidden;
}

@media only screen and (max-width: 32.5rem) {
    .pageelement-text .content {
        flex-flow: column;
    }

    .pageelement-text .container .left,
    .pageelement-text .container .right {
        width: 100%;
    }
}

/*** .text-image-wide
zweispaltiges Text Bild Element
******************************************************************/

.pageelement-images .container {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8125rem;
    font-size: 1.125rem;
}

.pageelement-images .container .image {
    max-width: 21.25rem;
    border-radius: 0.625rem;
    overflow: hidden;
    width: calc(25% - 0.625rem);
}

@media only screen and (max-width: 64rem) {
    .pageelement-images .container .image {
        width: calc(33.33% - 0.5625rem);
    }
}

@media only screen and (max-width: 32.5rem) {
    .pageelement-images .container .image {
        width: calc(50% - 0.4375rem);
    }
}

/*** .downloads-main
zweispaltiges Text Bild Element
******************************************************************/
.pageelement-downloads-main.no-margin {
    margin-bottom: 0;
}

.pageelement-downloads-main .headline {
    margin-bottom: 1.25rem;
}

.pageelement-downloads-main .download-list {
    display: flex;
    flex-flow: column;
    gap: 0.625rem;
}

.pageelement-downloads-main .download-link {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: block;
    font-size: 1.5rem;
    padding: 1.25rem;
    background: #fff;
    border: #ff8b00 solid 0.125rem;
    border-radius: 0.625rem;
    font-family: 'Open Sans Bold';
    display: flex;
    align-items: center;
    transition: all .25s ease-in-out;
}

.pageelement-downloads-main .download-link:hover {
    background: #ff8C00;
}

.pageelement-downloads-main .download-link:focus-visible {
    outline: var(--outline-default);
    outline-offset: var(--outline-offset-default);
}

.pageelement-downloads-main .download-link .icon:before {
    font-family: 'Font Awesome 6 Pro';
    font-weight: 100;
    content: '\f56d';
    width: 1.5625rem;
    display: inline-block;
    color: #000;
    font-size: 1.875rem;
    margin-right: 2.1875rem;
}

@media only screen and (max-width: 32.5rem) {
    .pageelement-downloads-main .download-link {
        font-size: 1.25rem;
        padding: 0.625rem;
    }

    .pageelement-downloads-main .download-link .icon::before {
        width: 0.3125rem;
    }
}

/*testimonial*/

.pageelement-testimonial .headline {
    text-align: center;
    margin-bottom: 1.25rem;
}

.pageelement-testimonial .container {
    position: relative;
    overflow: hidden;

    text-align: center;
    font-size: 1.625rem;
    font-family: 'Open Sans Italic';
    margin-bottom: 0.8125rem;
    background: #ff8b0025;
    border-radius: 0.625rem;
}

.pageelement-testimonial .content {
    display: flex;
    transition: transform 0.5s ease;
}

.pageelement-testimonial .testimonial-item {
    flex: 0 0 100%;
    padding: 2.5rem 18.75rem;
    box-sizing: border-box;
    text-align: left;
    display: flex;
    flex-flow: column;
    gap: 0.8125rem;
    margin: auto;
}

.pageelement-testimonial .testimonial-item .quote {
    font-size: 1.125rem;
    font-style: italic;
    font-weight: normal;
}

.pageelement-testimonial .testimonial-item .source {
    font-size: 1.25rem;
    font-style: italic;
    font-weight: normal;
}

.pageelement-testimonial .control-left,
.pageelement-testimonial .control-right {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.5rem;
    cursor: pointer;
    z-index: 1;
    height: 100%;
    width: 4.375rem;
    transition: opacity 0.5s ease;
    background: none;
    border: none;
}

.pageelement-testimonial .control-left:focus-visible,
.pageelement-testimonial .control-right:focus-visible {
    outline: var(--outline-default);
    outline-offset: -1rem;
    height: 6rem;
}

.control-left.hidden,
.control-right.hidden {
    opacity: 0;
}

.pageelement-testimonial .control-left .icon:before,
.pageelement-testimonial .control-right .icon:before {
    content: '\f054';
    font-family: 'Font Awesome 6 Pro';
    color: #000;
    font-size: 3.125rem;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    left: 50%;
    font-weight: 900;
}

.pageelement-testimonial .control-left .icon:before {
    content: '\f053';
}

.pageelement-testimonial .control-left {
    left: 0;
}

.pageelement-testimonial .control-right {
    right: 0;
}

.pageelement-testimonial .nav-dots {
    display: flex;
    gap: 0.625rem;
    margin: auto;
    max-width: 15.625rem;
    width: fit-content;
}


.pageelement-testimonial .nav-dot {
    background: #707070;
    height: 0.9375rem;
    width: 0.9375rem;
    border-radius: 0.625rem;
    cursor: pointer;
    border: 0.125rem solid #000;
}

.pageelement-testimonial .nav-dot:first-child:last-child {
    display: none;
}

.pageelement-testimonial .nav-dot.active {
    background: #ff8b00;
}

@media only screen and (max-width: 90.625rem) {
    .pageelement-testimonial .testimonial-item {
        padding: 2.5rem 12.5rem;
    }
}

@media only screen and (max-width: 64rem) {
    .pageelement-testimonial .testimonial-item {
        padding: 2.5rem 5.625rem;
    }
}

@media only screen and (max-width: 32.5rem) {
    .pageelement-testimonial .testimonial-item {
        padding: 2.5rem 1.25rem;
    }

    .pageelement-testimonial .control-left .icon,
    .pageelement-testimonial .control-right .icon {
        display: none;
    }

    .pageelement-testimonial .nav-dots {
        gap: 1rem;
    }

    .pageelement-testimonial .nav-dot {
        height: 1.5rem;
        width: 1.5rem;
        border-radius: 50%;
    }
}

/*** .teaserboxes
******************************************************************/

.pageelement-teaserboxes .headline {
    margin-bottom: 1.25rem;
}

.pageelement-teaserboxes .content {
    display: flex;
    gap: 1.5625rem;
    justify-content: stretch;
}

.pageelement-teaserboxes .container .teaserbox {
    background: #fff;
    border-radius: 0.625rem;
    width: 100%;
    display: flex;
    flex-flow: column;
    gap: 1.5625rem;
    padding: 2.1875rem;
    box-sizing: border-box;
    height: 100%;
}


.pageelement-teaserboxes .container .teaserbox .headline {
    font-size: 1.375rem;
    margin-bottom: 0;
}

.pageelement-teaserboxes .container .teaserbox .text {
    font-size: 1.25rem;
    color: #000;
}

.pageelement-teaserboxes .container .teaserbox .image {
    max-width: 26.75rem;
}

.pageelement-teaserboxes .container .teaserbox .link {
    font-size: 1.125rem;
    color: #fff;
    margin-right: auto;
    padding: 0.5rem 1.25rem;
    border-radius: 0.3125rem;
    transition: all .25s ease-in-out;
}

.pageelement-teaserboxes .container .teaserbox .link:focus-visible {
    outline: var(--outline-default);
    outline-offset: var(--outline-offset-default);
}

.pageelement-teaserboxes .container .teaserbox .link.blue {
    border: 0.188rem solid #245496;
}

.pageelement-teaserboxes .container .teaserbox .link.light-blue {
    border: 0.188rem solid #449CDB;
    color: #000;
}

.pageelement-teaserboxes .container .teaserbox .link.orange {
    border: 0.188rem solid #FF8B00;
    color: #000;
}

.pageelement-teaserboxes .container .teaserbox .link.violet {
    border: 0.188rem solid #9B0687;
}

.pageelement-teaserboxes .container .teaserbox .link.green {
    border: 0.188rem solid #B3CE36;
    color: #000;
}

.pageelement-teaserboxes .container .teaserbox .link.yellow {
    border: 0.188rem solid #E8C425;
    color: #000;
}

.pageelement-teaserboxes .container .teaserbox .link.emerald {
    border: 0.188rem solid #175C6E;
}

.pageelement-teaserboxes .container .teaserbox .link.teal {
    border: 0.188rem solid #49AFB1;
    color: #000;
}

.pageelement-teaserboxes .container .teaserbox .link:hover {
    background: #fff;
    color: #000;
}

.pageelement-teaserboxes .container .teaserbox-container {
    width: 100%;
    display: flex;
    flex-flow: column;
}

.pageelement-teaserboxes .container .teaserbox-container .border-top,
.pageelement-teaserboxes .container .teaserbox-container .border-bottom {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    box-sizing: border-box;
}

.pageelement-teaserboxes .container .teaserbox-container .border-top {
    transform: rotate(180deg);
    margin-bottom: -0.0625rem;
}

.pageelement-teaserboxes .container .teaserbox-container .border-bottom {
    margin-top: -0.0625rem;
}

@media only screen and (max-width: 64rem) {
    .pageelement-teaserboxes .content {
        flex-wrap: wrap;
    }

    .pageelement-teaserboxes .container .teaserbox-container .border-top,
    .pageelement-teaserboxes .container .teaserbox-container .border-bottom {
        height: 1.875rem;
    }
}

@media only screen and (max-width: 32.5rem) {
    .pageelement-teaserboxes .container .teaserbox-container .border-top,
    .pageelement-teaserboxes .container .teaserbox-container .border-bottom {
        height: unset;
        min-height: 1.4375rem;
    }
}


/*** .teaserbox-wide
******************************************************************/

.pageelement-teaserbox-wide .headline {
    margin-bottom: 1.25rem;
}

.pageelement-teaserbox-wide .content {
    display: flex;
    gap: 1.5625rem;
    justify-content: stretch;
}

.pageelement-teaserbox-wide .container .teaserbox {
    background: #fff;
    border-radius: 0.625rem;
    width: 100%;
    display: flex;
    flex-flow: column;
    gap: 1.5625rem;
    padding: 2.1875rem;
    box-sizing: border-box;
    height: 100%;
    overflow: hidden;
}

.pageelement-teaserbox-wide .container .teaserbox.has-image {
    padding: 0;
    display: flex;
    flex-flow: row;
    justify-content: space-between;
}

.pageelement-teaserbox-wide .container .teaserbox .headline {
    font-size: 1.5rem;
    margin-bottom: 0;
    max-width: 62.5rem;
    font-family: 'Open Sans Bold', sans-serif;
}

.pageelement-teaserbox-wide .container .teaserbox h3 {
    font-size: 1.375rem;
    font-weight: 700;
    font-family: 'Open Sans Bold', sans-serif;
}

.pageelement-teaserbox-wide .container .teaserbox .text {
    font-size: 1.125rem;
    color: #000;
    max-width: 62.5rem;
}

.pageelement-teaserbox-wide .container .teaserbox .image {
    order: 1;
    width: 39.375rem;
    min-width: 39.375rem;
    margin: 2.5rem 2.1875rem 2.5rem 0;
}

.pageelement-teaserbox-wide .container .teaserbox .image img {
    border-radius: 0.625rem;
}

.pageelement-teaserbox-wide .container .teaserbox.has-image .text-content {
    padding: 2.1875rem 0 2.1875rem 2.1875rem;
    display: flex;
    flex-flow: column;
    gap: 1.5625rem;
}

.pageelement-teaserbox-wide .container .teaserbox .link {
    font-size: 1.125rem;
    color: #fff;
    margin-right: auto;
    padding: 0.5rem 1.25rem;
    border-radius: 0.3125rem;
    transition: all .25s ease-in-out;
}

.pageelement-teaserbox-wide .container .teaserbox .link:focus-visible {
    outline: var(--outline-default);
    outline-offset: var(--outline-offset-default);
}

.pageelement-teaserbox-wide .container .teaserbox .link.blue {
    border: 0.188rem solid #245496;
}

.pageelement-teaserbox-wide .container .teaserbox .link.light-blue {
    border: 0.188rem solid #449CDB;
    color: #000;
}

.pageelement-teaserbox-wide .container .teaserbox .link.orange {
    border: 0.188rem solid #FF8B00;
    color: #000;
}

.pageelement-teaserbox-wide .container .teaserbox .link.violet {
    border: 0.188rem solid #9B0687;
}

.pageelement-teaserbox-wide .container .teaserbox .link.green {
    border: 0.188rem solid #B3CE36;
    color: #000;
}

.pageelement-teaserbox-wide .container .teaserbox .link.yellow {
    border: 0.188rem solid #E8C425;
    color: #000;
}

.pageelement-teaserbox-wide .container .teaserbox .link.emerald {
    border: 0.188rem solid #175C6E;
}

.pageelement-teaserbox-wide .container .teaserbox .link.teal {
    border: 0.188rem solid #49AFB1;
    color: #000;
}

.pageelement-teaserbox-wide .container .teaserbox .link:hover {
    background: #fff;
    color: #000;
}

.pageelement-teaserbox-wide .container .teaserbox-container {
    width: 100%;
    display: flex;
    flex-flow: column;
}

.pageelement-teaserbox-wide .container .teaserbox-container .border-top,
.pageelement-teaserbox-wide .container .teaserbox-container .border-bottom {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    box-sizing: border-box;
}

.pageelement-teaserbox-wide .container .teaserbox-container .border-top {
    transform: rotate(180deg);
    margin-bottom: -0.0625rem;
}

.pageelement-teaserbox-wide .container .teaserbox-container .border-bottom {
    margin-top: -0.0625rem;
}

@media only screen and (max-width: 87.5rem) {
    .pageelement-teaserbox-wide .container .teaserbox .image {
        order: 1;
        width: 31.25rem;
        min-width: 31.25rem;
    }
}

@media only screen and (max-width: 64rem) {
    .pageelement-teaserbox-wide .content {
        flex-wrap: wrap;
    }

    .pageelement-teaserbox-wide .container .teaserbox .image {
        min-width: unset;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 2.1875rem;
    }

    .pageelement-teaserbox-wide .container .teaserbox .image img {
        margin-right: unset;
    }

    .pageelement-teaserbox-wide .container .teaserbox.has-image {
        flex-flow: column;
    }

    .pageelement-teaserbox-wide .container .teaserbox.has-image .text-content {
        padding: 2.1875rem 2.1875rem 0 2.1875rem;
    }

}

@media only screen and (max-width: 42.5rem) {
    .pageelement-teaserbox-wide .container .teaserbox {
        padding: 1.25rem;
    }

    .pageelement-teaserbox-wide .container .teaserbox .image {
        max-width: 100%;
        margin-bottom: 0;
        width: 100%;
        padding: 0 1.875rem 1.875rem;
        box-sizing: border-box;
    }
}

/*** .contactperson
******************************************************************/
.pageelement-contactperson .headline {
    margin-bottom: 1.25rem;
}

.pageelement-contactperson .content-container {
    display: flex;
    gap: 2.5rem;
    background: #E4E4E4;
    border-radius: 0.625rem;
    overflow: hidden;
}

.pageelement-contactperson .content-container .left,
.pageelement-contactperson .content-container .right {
    width: 50%;
}

.pageelement-contactperson .content-container .left .image {
    height: 100%;
}

.pageelement-contactperson .content-container .left .image img {
    height: 100%;
    object-fit: cover;
}

.pageelement-contactperson .content-container .right {
    display: flex;
    flex-flow: column;
    font-size: 1.125rem;
    margin-top: 1.875rem;
    margin-bottom: 1.875rem;
}

.pageelement-contactperson .content-container .right h3 {
    font-family: 'Open Sans Bold';
    font-size: 1.125rem;
}

.pageelement-contactperson .content-container .right .contact {
    margin-top: 2.8125rem;
    display: flex;
    flex-flow: column;
    gap: 0.9375rem;
}

.pageelement-contactperson .content-container .right .contact .telephone,
.pageelement-contactperson .content-container .right .contact .email,
.pageelement-contactperson .content-container .right .contact .availability {
    display: flex;
    gap: 0.375rem;
}

.pageelement-contactperson .content-container .right .contact .telephone,
.pageelement-contactperson .content-container .right .contact .email {
    width: fit-content;
}

.pageelement-contactperson .content-container .right .contact .telephone:hover,
.pageelement-contactperson .content-container .right .contact .email:hover {
    text-decoration-thickness: 0.125rem;
}

.pageelement-contactperson .content-container .right .contact .telephone span:not(.icon),
.pageelement-contactperson .content-container .right .contact .email span:not(.icon) {
    text-decoration: underline;
}

.pageelement-contactperson .content-container .right .contact .telephone:focus-visible,
.pageelement-contactperson .content-container .right .contact .email:focus-visible {
    outline: var(--outline-default);
    outline-offset: var(--outline-offset-default);
}

.pageelement-contactperson .content-container .right .contact .telephone .icon:before {
    content: '\f095';
    font-family: 'Font Awesome 6 Pro';
}

.pageelement-contactperson .content-container .right .contact .email .icon:before {
    content: '\f0e0';
    font-family: 'Font Awesome 6 Pro';
}

.pageelement-contactperson .content-container .right .contact .availability .icon:before {
    content: '\f073';
    font-family: 'Font Awesome 6 Pro';
}

@media only screen and (max-width: 64rem) {
    .pageelement-contactperson .content-container .left {
        width: 60%;
    }

    .pageelement-contactperson .content-container .right {
        width: 40%;
    }
}

@media only screen and (max-width: 50rem) {
    .pageelement-contactperson .content-container {
        flex-flow: column;
        gap: 1.875rem;
    }

    .pageelement-contactperson .content-container .left,
    .pageelement-contactperson .content-container .right {
        width: 100%
    }

    .pageelement-contactperson .content-container .right {
        margin-top: 0;
        margin-left: 1.875rem;
        margin-right: 1.875rem;
    }
}

/*** .overviewpages-main
******************************************************************/

.overviewpages-main .overview-item-container {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5625rem;
    justify-content: center;
}

.overviewpages-main .overview-item-container .overview-item {
    width: calc(33.33% - 1.0625rem);
    display: flex;
    flex-flow: column;
}

.overviewpages-main .overview-item-container.width-2 .overview-item {
    width: calc(50% - 0.8125rem);
}

.overviewpages-main .overview-item-container.width-1 .overview-item {
    width: 100%;
}

.overviewpages-main .overview-item-container .overview-item .border-top,
.overviewpages-main .overview-item-container .overview-item .border-bottom {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    box-sizing: border-box;
    min-height: 1.4375rem;
    max-height: 1.875rem;
}

.overviewpages-main .overview-item-container .overview-item .border-top {
    transform: rotate(180deg);
    margin-bottom: -0.0625rem;
}

.overviewpages-main .overview-item-container .overview-item .border-bottom {
    margin-top: -0.0625rem;
}

.overviewpages-main .overview-item-container .overview-item .container {
    background: #fff;
    border-radius: 0.625rem;
    width: 100%;
    display: flex;
    flex-flow: column;
    gap: 1.5625rem;
    box-sizing: border-box;
    height: 100%;
    padding-bottom: 1.25rem;
    overflow: hidden;
}

.overviewpages-main .overview-item-container .overview-item.no-image .container {
    padding-top: 1.25rem;
}

.overviewpages-main .overview-item-container.width-1 .overview-item .container {
    flex-flow: row;
    padding-bottom: 0;
}

.overviewpages-main .overview-item-container .overview-item .container .text-container {
    display: flex;
    flex-flow: column;
    gap: 0.9375rem;
    align-items: center;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    box-sizing: border-box;
}

.overviewpages-main .overview-item-container.width-1 .overview-item .container .text-container {
    padding: 1.875rem 1.875rem 1.875rem 0.3125rem;
    align-items: flex-start;
    width: calc(100% - 29.6875rem);
}

.overviewpages-main .overview-item-container .overview-item .container .text-container h2 {
    margin-bottom: 0;
    font-size: 1.375rem;
    text-align: center;
}

.overviewpages-main.old_generation .overview-item-container .overview-item .container .text-container h2 {
    font-size: 1.625rem;
}

.overviewpages-main.old_generation .overview-item-container .overview-item .container .text-container .link {
    font-size: 1.375rem;
}

.overviewpages-main .overview-item-container.width-2 .overview-item .container .text-container h2,
.overviewpages-main .overview-item-container.width-3 .overview-item .container .text-container h2 {
    text-align: center;
}

.overviewpages-main .overview-item-container .overview-item .container .text-container .link {
    color: #fff;
    padding: 0.5rem 3.125rem;
    border-radius: 0.3125rem;
    max-width: 90%;
    box-sizing: border-box;
    text-align: center;
    transition: all .25s ease-in-out;
}

.overviewpages-main .overview-item-container .overview-item .container .text-container .link:focus-visible {
    outline: var(--outline-default);
    outline-offset: var(--outline-offset-default);
}

.overviewpages-main .overview-item-container .overview-item .container .text-container .link.blue {
    border: 0.188rem solid #245496;
}

.overviewpages-main .overview-item-container .overview-item .container .text-container .link.light-blue {
    border: 0.188rem solid #449CDB;
    color: #000;
}

.overviewpages-main .overview-item-container .overview-item .container .text-container .link.orange {
    border: 0.188rem solid #FF8B00;
    color: #000;
}

.overviewpages-main .overview-item-container .overview-item .container .text-container .link.violet {
    border: 0.188rem solid #9B0687;
}

.overviewpages-main .overview-item-container .overview-item .container .text-container .link.green {
    border: 0.188rem solid #B3CE36;
    color: #000;
}

.overviewpages-main .overview-item-container .overview-item .container .text-container .link.yellow {
    border: 0.188rem solid #E8C425;
    color: #000;
}

.overviewpages-main .overview-item-container .overview-item .container .text-container .link.emerald {
    border: 0.188rem solid #175C6E;
}

.overviewpages-main .overview-item-container .overview-item .container .text-container .link.teal {
    border: 0.188rem solid #49AFB1;
    color: #000;
}

.overviewpages-main .overview-item-container .overview-item .container .text-container .link:hover {
    background: #fff;
    color: #000;
}

.overviewpages-main .overview-item-container .overview-item .container .text-container .text {
    color: #000;
    max-width: 90%;
    padding: 0 1.25rem;
    box-sizing: border-box;
    text-align: center;
    font-size: 1.125rem;
}

.overviewpages-main .overview-item-container.width-1 .overview-item .container .text-container .text {
    padding: 0;
    text-align: left;
}

.overviewpages-main .image-container img {
    height: 100%;
    object-fit: cover;
}

@media only screen and (max-width: 75rem) {
    .overviewpages-main .overview-item-container .overview-item .container .text-container .link {
        padding: 0.5rem 2.1875rem;
    }
}

@media only screen and (max-width: 64rem) {
    .overviewpages-main .image-container {
        margin: 1.25rem auto auto;
        border-radius: 0.625rem;
        overflow: hidden;
    }

    .overviewpages-main .overview-item-container .overview-item .container .text-container .link {
        width: 31.25rem;
    }

    .overviewpages-main .overview-item-container .overview-item,
    .overviewpages-main .overview-item-container.width-2 .overview-item {
        width: 100%;
    }

    .overviewpages-main .overview-item-container.width-1 .overview-item .container {
        flex-flow: column;
        padding-bottom: 1.25rem;
    }

    .overviewpages-main .overview-item-container.width-1 .overview-item .container .text-container {
        padding: 0;
        align-items: center;
        width: unset;
    }

    .overviewpages-main .overview-item-container.width-1 .overview-item .container .text-container h2,
    .overviewpages-main .overview-item-container.width-1 .overview-item .container .text-container .text {
        padding: 0 1.25rem;
        text-align: center;
    }

}

@media only screen and (max-width: 34.375rem) {
    .overviewpages-main .image-container {
        min-width: unset;
        width: 100%;
        margin: unset;
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
    }
}

@media only screen and (max-width: 32.5rem) {
    .overviewpages-main .overview-item-container .overview-item .container .text-container .link {
        padding: 0.5rem 2.1875rem;
        width: unset;
    }
}

/*** .coursesystem-list
******************************************************************/

.coursesystem-list.contentbox {
    overflow: unset;
}

.coursesystem-list .filter .filter-select-wrapper {
    display: flex;
    gap: 0.8125rem;
    width: 100%;
    flex-wrap: wrap;
}

.coursesystem-list .form-select select {
    display: inline-block;
    padding: 0.9375rem;
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-bottom: 1.25rem;
    border: 0.0625rem solid #000;
    font-size: 1rem;
    appearance: none;
    background: url('/_images/select.svg') no-repeat #fff;
    background-size: auto;
    background-size: 1.375rem;
    background-position: calc(100% - 0.625rem);
}

.coursesystem-list .filter .filter-select-wrapper .form-select {
    width: calc(25% - 0.65625rem);
}

.coursesystem-list .filter .filter-select-wrapper .form-select.category {
    width: 100%;
}

.coursesystem-list .filter .filter-select-wrapper .form-select label {
    font-size: 1.25rem;
    margin-bottom: .3rem;
    display: block;
    font-family: 'Open Sans Bold', sans-serif;
}

.coursesystem-list .filter .form-select {
    width: 100%;
}

.coursesystem-list .filter .filter-select-wrapper select {
    font-size: 1.25rem;
    padding: 0.875rem 1.25rem;
    border: none;
    border-radius: 0.625rem;
    width: 100%;
    padding-right: 2.1875rem;
    color: black;
}

.coursesystem-list .filter .filter-select-wrapper select:focus-visible {
    outline: var(--outline-default);
    outline-offset: var(--outline-offset-default);
}

.coursesystem-list .container {
    display: flex;
    flex-flow: column;
    gap: 2.5rem;
}

.coursesystem-list #courses-list-container {
    display: flex;
    flex-flow: column;
    gap: 1.25rem;
}

.coursesystem-list #courses-list-container .spinner {
    width: 6.25rem;
    height: 6.25rem;
    border: 0.625rem solid rgb(225, 230, 236);
    border-top: 0.625rem solid #449cdb;
    border-radius: 50%;
    animation: loading-material-list 1s linear infinite;
    margin-left: calc(50% - 4.6875rem);
}

@keyframes loading-material-list {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

.coursesystem-list #courses-list-container .courselist-item {
    background: #fff;
    border-radius: 0.625rem;
    padding: 1.5625rem 3.125rem;
}

.coursesystem-list #courses-list-container .courselist-item.info-box a:hover {
    text-decoration-thickness: 0.125rem;
}

.coursesystem-list #courses-list-container .courselist-item.info-box a:focus-visible {
    outline: var(--outline-default);
    outline-offset: var(--outline-offset-default);
}

.coursesystem-list #courses-list-container .courselist-item.info-box .viona-icon {
    display: inline-block;
    background-image: url(/_images/logo-viona.jpg);
    background-size: 100% 100%;
    width: 5.1875rem;
    height: 1.0625rem;
}

.coursesystem-list #courses-list-container .courselist-item .top {
    display: flex;
    justify-content: space-between;
}

.coursesystem-list .courselist-item {
    border: solid 0.125rem #449CDB;
}

.coursesystem-list #courses-list-container .courselist-item .info {
    display: flex;
    flex-flow: column;
    gap: 0.5rem;
    font-size: 1.125rem;
    max-width: 62.5rem;
    width: 100%;
}

.coursesystem-list #courses-list-container .courselist-item .info .title {
    font-size: 1.375rem;
    font-family: 'Open Sans Bold';
    margin-bottom: 0;
}

.coursesystem-list #courses-list-container .courselist-item .subcourselist {
    display: flex;
    flex-flow: column;
    margin-top: 0.625rem;
}

.coursesystem-list #courses-list-container .courselist-item .subcourselist .more-courses:before {
    font-family: 'Font Awesome 6 Pro';
    content: '\f054';
    margin-right: 0.875rem;
}

.coursesystem-list #courses-list-container .courselist-item .subcourselist .subcourse-item {
    display: flex;
    gap: 4.375rem;
}

.coursesystem-list #courses-list-container .courselist-item .subcourselist .subcourse-item .state,
.coursesystem-list #courses-list-container .courselist-item .subcourselist .subcourse-item .location,
.coursesystem-list #courses-list-container .courselist-item .subcourselist .subcourse-item .date,
.coursesystem-list #courses-list-container .courselist-item .subcourselist .subcourse-item .price {
    display: flex;
    gap: 0.75rem;
    flex: 1;
    align-items: center;
}

.coursesystem-list #courses-list-container .courselist-item .subcourselist .subcourse-item .date,
.coursesystem-list #courses-list-container .courselist-item .subcourselist .subcourse-item .price {
    flex: 2;
}

.coursesystem-list #courses-list-container .courselist-item .subcourselist .subcourse-item .state .icon {
    height: 1.125rem;
    width: 1.125rem;
    background: #9A9A9A;
    border-radius: 50%;
}

.coursesystem-list #courses-list-container .courselist-item .subcourselist .subcourse-item .state.fully-booked .icon {
    background: #CE3636;
}

.coursesystem-list #courses-list-container .courselist-item .subcourselist .subcourse-item .state.almost-fully-booked .icon {
    background: #E8C425;
}

.coursesystem-list #courses-list-container .courselist-item .subcourselist .subcourse-item .state.free-spots .icon {
    background: #B3CE36;
}

.coursesystem-list #courses-list-container .courselist-item .subcourselist .subcourse-item .location .icon:before {
    font-family: 'Font Awesome 6 Pro', sans-serif;
    content: '\f3c5';
}

.coursesystem-list #courses-list-container .courselist-item .subcourselist .subcourse-item .date .icon:before {
    font-family: 'Font Awesome 6 Pro', sans-serif;
    content: '\f073';
}

.coursesystem-list #courses-list-container .courselist-item .subcourselist .subcourse-item .price .icon:before {
    font-family: 'Font Awesome 6 Pro', sans-serif;
    content: '\e5ce';
}

.coursesystem-list #courses-list-container .courselist-item .subcourselist .subcourse-item .no-icon .icon:before {
    content: '';
}

.coursesystem-list #courses-list-container .courselist-item .link {
    margin-top: 3.75rem;
    min-width: 11.875rem;
    display: flex;
    flex-flow: column;
    align-items: center;
}

.coursesystem-list #courses-list-container .courselist-item .link.viona {
    margin-top: 0.4375rem;
}

.coursesystem-list #courses-list-container .courselist-item .link .button,
.coursesystem-list #courses-list-container .courselist-item.info-box .button {
    color: #000;
    padding: 0.5rem 3.4375rem;
    border-radius: 0.3125rem;

    width: 100%;
    display: inline-block;
    box-sizing: border-box;
    text-align: center;
    transition: all .25s ease-in-out;
    text-decoration: none;
}

.coursesystem-list #courses-list-container .courselist-item .link .button.blue {
    border: 0.188rem solid #245496;
}

.coursesystem-list #courses-list-container .courselist-item .link .button.light-blue {
    border: 0.188rem solid #449CDB;
    color: #000;
}

.coursesystem-list #courses-list-container .courselist-item .link .button.orange {
    border: 0.188rem solid #FF8B00;
    color: #000;
}

.coursesystem-list #courses-list-container .courselist-item .link .button.violet {
    border: 0.188rem solid #9B0687;
}

.coursesystem-list #courses-list-container .courselist-item .link .button.green {
    border: 0.188rem solid #B3CE36;
    color: #000;
}

.coursesystem-list #courses-list-container .courselist-item .link .button.yellow {
    border: 0.188rem solid #E8C425;
    color: #000;
}

.coursesystem-list #courses-list-container .courselist-item .link .button.emerald {
    border: 0.188rem solid #175C6E;
}

.coursesystem-list #courses-list-container .courselist-item .link .button.teal {
    border: 0.188rem solid #49AFB1;
    color: #000;
}

.coursesystem-list #courses-list-container .courselist-item .link .button:hover,
.coursesystem-list #courses-list-container .courselist-item.info-box .button:hover {
    background: #fff;
    color: #000;
}

.coursesystem-list #courses-list-container .courselist-item .link .button:focus-visible,
.coursesystem-list #courses-list-container .courselist-item.info-box .button:focus-visible {
    outline: var(--outline-default);
    outline-offset: var(--outline-offset-default);
}

.coursesystem-list #courses-list-container .courselist-item.info-box .button {
    width: 19.0625rem;
    max-width: 100%;
    border: 0.188rem solid #449CDB;
}

.coursesystem-list .button {
    background: #449CDB;
}

.coursesystem-list .ajax-list-load-more {
    margin-top: 1.5625rem;
    font-size: 1.125rem;
    cursor: pointer;
    background: none;
    border: none;
}

.coursesystem-list .ajax-list-load-more:hover .text {
    text-decoration: underline;
}

.coursesystem-list .ajax-list-load-more:focus-visible {
    outline: var(--outline-default);
    outline-offset: var(--outline-offset-default);
}

.coursesystem-list .ajax-list-load-more .icon:before {
    content: '\f078';
    font-family: 'Font Awesome 6 Pro', sans-serif;
    margin-right: 0.625rem;
}

.coursesystem-list .ajax-list-load-more.hidden {
    display: none;
}

.coursesystem-list .filter .search {
    display: none;
}

.coursesystem-list .viona-logo {
    width: 8.4375rem;
    margin-bottom: 1.625rem;
}

@media only screen and (max-width: 64rem) {
    .coursesystem-list .filter .filter-select-wrapper .form-select {
        width: 100%;
    }

    .coursesystem-list .filter .filter-select-wrapper select {
        margin-bottom: 0.3125rem;
    }

    .coursesystem-list #courses-list-container .courselist-item .subcourselist {
        margin-top: 1.875rem;
    }

    .coursesystem-list #courses-list-container .courselist-item .subcourselist .subcourse-item {
        flex-flow: column;
        gap: 0.5rem;
    }

    .coursesystem-list #courses-list-container .courselist-item .link.viona {
        margin-top: 1.0625rem;
    }

    .coursesystem-list #courses-list-container .courselist-item .top {
        flex-flow: column;
    }

    .coursesystem-list #courses-list-container .courselist-item .link {
        margin-top: 2.1875rem;
        align-items: start;
    }

    .coursesystem-list #courses-list-container .courselist-item .link .button {
        width: 11.875rem;
    }
}

@media only screen and (max-width: 50rem) {
    .coursesystem-list #courses-list-container .courselist-item .info .subcourselist .subcourse-item {
        gap: 0.3125rem;
        flex-flow: column;
    }

    .coursesystem-list #courses-list-container .courselist-item .info .subcourselist {
        margin-top: 1.125rem;
    }
}

@media only screen and (max-width: 32.5rem) {
    .coursesystem-list #courses-list-container .courselist-item {
        padding: 1.5625rem;
    }

    .coursesystem-list #courses-list-container .courselist-item .link .button {
        width: 100%;
        display: inline-block;
        box-sizing: border-box;
        padding: 0.5rem 1.875rem;
        text-align: center;
    }
}

/*** .coursesystem-detail
******************************************************************/

.coursesystem-detail.contentbox {
    overflow: unset;
}

.coursesystem-detail > .headline {
    color: #449CDB;
    font-size: 2.125rem;
    font-family: 'Open Sans Bold', sans-serif;
    margin-bottom: 1.25rem;
}

.coursesystem-detail .overview {
    display: flex;
    gap: 5.9375rem;
    margin-bottom: 3.125rem;
}

.coursesystem-detail .overview .text {
    font-size: 1.125rem;
}

.coursesystem-detail .overview .text,
.coursesystem-detail .overview .info {
    width: 50%;
    height: fit-content;
}

.coursesystem-detail .overview .info .viona-logo {
    width: 14.375rem;
    max-width: 100%;
    margin-bottom: 0.625rem;
}

.coursesystem-detail .overview .info .viona-text {
    max-width: 100%;
    margin-bottom: 1.25rem;
}

.coursesystem-detail .overview .info .advantages,
.coursesystem-detail .overview .info .targetgroup,
.coursesystem-detail .overview .info .funding {
    margin-bottom: 1.125rem;
}

.coursesystem-detail .overview .info .texteditor .headline {
    margin-bottom: 0.3125rem;
}

.coursesystem-detail .overview .info .texteditor .headline + ol {
    margin-top: 0;
}

.coursesystem-detail .overview .text h3 {
    font-size: 1.125rem;
    color: #449CDB;
    font-family: 'Open Sans Bold';
}

.coursesystem-detail .overview .info {
    background: #fff;
    border: solid 0.125rem #449CDB;
    border-radius: 0.625rem;
    padding: 2rem 4.375rem;
    font-size: 1.125rem;
    position: relative;
    max-width: 46.875rem;
}

.coursesystem-detail .overview .info .headline {
    font-size: 1.125rem;
    color: #449CDB;
    font-family: 'Open Sans Bold';
}

.coursesystem-detail .overview .info .advantages .headline:before,
.coursesystem-detail .overview .info .targetgroup .headline:before,
.coursesystem-detail .overview .info .funding .headline:before {
    content: '\f0fe';
    font-family: 'Font Awesome 6 Pro';
    position: absolute;
    left: 1.625rem;
}

.coursesystem-detail .overview .info .targetgroup .headline:before {
    content: '\f0c0';
}

.coursesystem-detail .overview .info .funding .headline:before {
    content: '\e5ce';
}

.coursesystem-detail .overview .info .links {
    display: flex;
    flex-flow: column;
    gap: 1rem;
}

.coursesystem-detail .overview .info .links a {
    background: #449CDB;
    color: #000;
    padding: 0.5rem 2.5rem;
    width: fit-content;
    border-radius: 0.3125rem;
    display: flex;
    gap: 0.75rem;
    align-items: center;
    cursor: pointer;
    border: #449CDB solid 0.188rem;
    transition: all .25s ease-in-out;
}

.coursesystem-detail .overview .info .links a:hover {
    background: #fff;
    color: #000;
}

.coursesystem-detail .overview .info .links a:focus-visible {
    outline: var(--outline-default);
    outline-offset: var(--outline-offset-default);
}

.coursesystem-detail .overview .info .links .download .icon:before {
    content: '\f56d';
    font-family: 'Font Awesome 6 Pro', sans-serif;
    font-weight: 100;
    font-size: 1.5rem;
}

.coursesystem-detail .booking-dates {
    margin-bottom: 2.8125rem;
}

.coursesystem-detail .booking-dates .headline {
    font-size: 1.625rem;
    font-family: 'Open Sans Bold', sans-serif;
    margin-bottom: 1.25rem;
}

.coursesystem-detail .booking-dates .list {
    display: flex;
    flex-flow: column;
    gap: 0.625rem;
}

.coursesystem-detail .booking-dates .list-item {
    background: #fff;
}

.coursesystem-detail .booking-dates .list-item.hidden,
.coursesystem-detail .booking-dates .show-all-button.hidden {
    display: none;
}

.coursesystem-detail .booking-dates .show-all-button {
    color: #449cdb;
    cursor: pointer;
}

.coursesystem-detail .booking-dates .show-all-button:before {
    content: '\f078';
    font-family: 'Font Awesome 6 Pro';
    margin-right: 0.5rem;
}

.coursesystem-detail .booking-dates .list-item .head {
    display: flex;
    padding: 1.25rem;
}

.coursesystem-detail .booking-dates .list-item .head > * {
    flex: 2;
}

.coursesystem-detail .booking-dates .list-item .head .state,
.coursesystem-detail .booking-dates .list-item .head .location,
.coursesystem-detail .booking-dates .list-item .head .date,
.coursesystem-detail .booking-dates .list-item .head .time,
.coursesystem-detail .booking-dates .list-item .head .price {
    display: flex;
    gap: 0.4375rem;
    align-items: center;
}

.coursesystem-detail .booking-dates .list-item .head .time,
.coursesystem-detail .booking-dates .list-item .head .price {
    flex: 3;
}

.coursesystem-detail .booking-dates .list-item .head .date {
    flex: 4;
}

.coursesystem-detail .booking-dates .list-item .head .toggle {
    display: flex;
    justify-content: flex-end;
    height: 1.625rem;
    flex: 0.5;
    min-width: 2.5rem;
}

.coursesystem-detail .booking-dates .list-item .head > div .icon:before {
    font-size: 1.375rem;
    font-family: 'Font Awesome 6 Pro', sans-serif;
}

.coursesystem-detail .booking-dates .list-item .head .state .icon {
    height: 1.125rem;
    width: 1.125rem;
    background: #9A9A9A;
    border-radius: 50%;
}

.coursesystem-detail .booking-dates .list-item .head .state.fully-booked .icon {
    background: #CE3636;
}

.coursesystem-detail .booking-dates .list-item .head .state.almost-fully-booked .icon {
    background: #E8C425;
}

.coursesystem-detail .booking-dates .list-item .head .state.free-spots .icon {
    background: #B3CE36;
}

.coursesystem-detail .booking-dates .list-item .head .location .icon:before {
    content: '\f3c5';
}

.coursesystem-detail .booking-dates .list-item .head .date .icon:before {
    content: '\f073';
}

.coursesystem-detail .booking-dates .list-item .head .time .icon:before {
    content: '\f017';
}

.coursesystem-detail .booking-dates .list-item .head .price .icon:before {
    content: '\e5ce';
}

.coursesystem-detail .booking-dates .list-item .head .price .icon:before {
    content: '\e5ce';
}

.coursesystem-detail .booking-dates .list-item .head .no-icon .icon:before {
    content: '';
}

.coursesystem-detail .booking-dates .list-item .head .toggle .trigger {
    transition: all .5s ease-in-out;
    background: none;
    border: none;
}

.coursesystem-detail .booking-dates .list-item .head.open .toggle .trigger {
    transform: rotate(180deg);
}

.coursesystem-detail .booking-dates .list-item .head .toggle .trigger:before {
    content: '\f078';
    font-family: 'Font Awesome 6 Pro', sans-serif;
    font-size: 2.5rem;
    height: 1.25rem;
    display: inline-block;
    cursor: pointer;
    transform: translateY(-0.875rem);
}

.coursesystem-detail .booking-dates .list-item .head .toggle .trigger:focus-visible {
    outline: var(--outline-default);
    outline-offset: var(--outline-offset-default);
}

.coursesystem-detail .booking-dates .list-item .panel {
    display: flex;
    padding: 0 1.25rem 1.875rem;
}

.coursesystem-detail .booking-dates .list-item .panel .highlighted {
    display: flex;
}

.coursesystem-detail .booking-dates .list-item .panel .address {
    flex: 4;
}

.coursesystem-detail .booking-dates .list-item .panel .contact {
    flex: 4;
}

.coursesystem-detail .booking-dates .list-item .panel .contact a:focus-visible {
    outline: var(--outline-default);
    outline-offset: var(--outline-offset-default);
}


.coursesystem-detail .booking-dates .list-item .panel .various {
    flex: 6;
}

.coursesystem-detail .booking-dates .list-item .panel .padding {
    flex: .25;
    min-width: 2.5rem;
}

.coursesystem-detail .booking-dates .list-item .panel .various .booking-button {
    background: #449cdb;
    color: #000;
    padding: 0.5625rem 1.25rem;
    min-width: 21.25rem;
    display: inline-block;
    text-align: center;
    border-radius: 0.3125rem;
    cursor: pointer;
    border: #449CDB solid 0.188rem;
    transition: all .25s ease-in-out;
}

.coursesystem-detail .booking-dates .list-item .panel .various .booking-button:hover {
    background: #fff;
    color: #000;
}

.coursesystem-detail .booking-dates .list-item .panel .various .booking-button:focus-visible {
    outline: var(--outline-default);
    outline-offset: var(--outline-offset-default);
}

.coursesystem-detail .infotext {
    max-width: 62.5rem;
    margin-bottom: 3.75rem;
}

.coursesystem-detail .overview-button {
    padding: 0.5625rem 1.25rem;
    width: fit-content;
    min-width: 16.875rem;
    border: 0.125rem #449cdb solid;
    border-radius: 0.3125rem;
    display: inline-block;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    background: #fff;
}

.coursesystem-detail .overview-button .icon:before {
    content: '\f053';
    font-family: 'Font Awesome 6 Pro', sans-serif;
}

.coursesystem-detail .overview-button:hover {
    background: #fff;
    color: #000;
}

.coursesystem-detail .overview-button:focus-visible {
    outline: var(--outline-default);
    outline-offset: var(--outline-offset-default);
}

@media only screen and (max-width: 81.25rem) {
    .coursesystem-detail .booking-dates .list-item .head {
        flex-flow: column;
        gap: 0.3125rem;
    }

    .coursesystem-detail .booking-dates .list-item .head .toggle {
        order: -1;
    }


    .coursesystem-detail .booking-dates .list-item .head .toggle .trigger {
        height: 1.375rem;
    }

    .coursesystem-detail .booking-dates .list-item .panel .address > * {
        margin-left: 0;
    }

    .coursesystem-detail .booking-dates .list-item .panel {
        flex-flow: column;
        gap: 1.125rem;
    }

}

@media only screen and (max-width: 75rem) {
    .coursesystem-detail .overview .info {
        padding: 1.625rem;
    }

    .coursesystem-detail .overview .info .texteditor .headline {
        margin-left: 2rem;
    }
}

@media only screen and (max-width: 64rem) {
    .coursesystem-detail .overview {
        gap: 1.875rem;
        flex-flow: column;
    }

    .coursesystem-detail .overview .text,
    .coursesystem-detail .overview .info {
        width: 100%;
    }

    .coursesystem-detail .overview .info {
        max-width: unset;
        box-sizing: border-box;
    }
}

@media only screen and (max-width: 37.5rem) {
    .coursesystem-detail .booking-dates .list-item .panel .various .booking-button {
        width: 100%;
        box-sizing: border-box;
        min-width: unset;
    }
}

@media only screen and (max-width: 32.5rem) {
    .coursesystem-detail .overview-button {
        width: 100%;
        box-sizing: border-box;
    }
}

/*** .coursesystem-booking
******************************************************************/

.coursesystem-booking.contentbox {
    overflow: unset;
}

.coursesystem-booking {
    font-size: 1.125rem;
}

.coursesystem-booking .form-mandatoryinfo {
    margin-bottom: 1.125rem;
}

.coursesystem-booking .link-back {
    padding: 0.5625rem 1.25rem;
    width: fit-content;
    min-width: 16.875rem;
    border: 0.125rem #449cdb solid;
    border-radius: 0.3125rem;
    display: inline-block;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    background: #fff;
}

.coursesystem-booking .link-back:focus-visible {
    outline: var(--outline-default);
    outline-offset: var(--outline-offset-default);
}

.coursesystem-booking .link-back:before {
    content: '\f053';
    font-family: 'Font Awesome 6 Pro';
}

.coursesystem-booking .text {
    padding: 0 0 1rem 0;
}

.coursesystem-booking .text:last-child {
    padding-bottom: 0;
}

.coursesystem-booking .smalltext {
    font-size: 0.75rem;
}

.coursesystem-booking .lastschrift-fields {
    display: none;
}

.coursesystem-booking .billing_adress {
    display: none;
    margin-bottom: 0.625rem;
}

.coursesystem-booking .radio-wrapper {
    display: flex;
    padding: 0.5rem 0 0.5rem 0;
}

.coursesystem-booking .radio-wrapper .radiobuttons-wrapper.cols {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5625rem;
    row-gap: 0.5rem;
}

.coursesystem-booking .radio-canvas .radio-wrapper {
    float: left;
    padding: 0;
}

.coursesystem-booking .radiobutton-wrapper {
    display: flex;
    align-items: center;
}

.course-detail label[for='check_billingadresse'] {
    -ms-hyphens: auto;
    -webkit-hyphens: auto;
    hyphens: auto;
}

.course-detail .termin-list {
    display: table;
    width: 100%;
    line-height: 1.125rem;
}

.coursesystem-booking .termin-list.headline {
    margin: 0.625rem 0 0 0;
    border-bottom: 0.0625rem solid #D9DADB;
    padding-bottom: 0.3125rem;
    font-weight: 700;
    font-family: 'Open Sans Bold', sans-serif;
}

.coursesystem-booking .terminbox {
    display: table-cell;
}

.coursesystem-booking .terminbox.radio {
    width: 6%;
}

.coursesystem-booking .terminbox.radio input:focus-visible {
    outline: var(--outline-default);
    outline-offset: var(--outline-offset-default);
}

.coursesystem-booking .terminbox.state {
    width: 10%;
}

.coursesystem-booking .terminbox.state .state {
    display: flex;
    gap: 0.75rem;
    flex: 1;
    align-items: center;
}

.coursesystem-booking .terminbox.state .state .icon {
    height: 1.125rem;
    width: 1.125rem;
    background: #9A9A9A;
    border-radius: 50%;
}

.coursesystem-booking .terminbox.state .state.fully-booked .icon {
    background: #CE3636;
}

.coursesystem-booking .terminbox.state .state.almost-fully-booked .icon {
    background: #E8C425;
}

.coursesystem-booking .terminbox.state .state.free-spots .icon {
    background: #B3CE36;
}


.coursesystem-booking .terminbox.state {
    width: 14%;
}

.coursesystem-booking .terminbox.number {
    width: 15%;
}

.coursesystem-booking .terminbox.date {
    width: 28%;
}

.coursesystem-booking .terminbox.dozent {
    width: 15%;
}

.coursesystem-booking .terminbox.price {
    width: 20%;
}

.coursesystem-booking .termin-list-item {
    padding: 0.625rem 0;
    border-bottom: 0.0625rem solid #D9DADB;
}

.coursesystem-booking .termin-list-item:last-child {
    padding: 0.625rem 0 0 0;
    border-bottom: 0;
}

.coursesystem-booking .button-submit {
    margin-top: 1.25rem;
}

.coursesystem-booking .link-back {
    margin-bottom: 1.25rem;
}

.coursesystem-booking .datenschutz-text {
    margin-top: 3.125rem;
    font-size: 0.75rem;
}

.coursesystem-booking .form-row {
    display: flex;
    flex-flow: column;
}

.coursesystem-booking .form-row a:focus-visible {
    outline: var(--outline-default);
    outline-offset: var(--outline-offset-default);
}

.coursesystem-booking .form-row input:focus-visible,
.coursesystem-booking .form-row textarea:focus-visible,
.coursesystem-booking .form-row select:focus-visible {
    outline: var(--outline-default);
    outline-offset: var(--outline-offset-default);
}

.coursesystem-booking .form-row input.textbox {
    height: 3.4375rem;
    width: 100%;
    border: solid 0.125rem #e0e0e0;
    border-radius: 0.625rem;
    padding: 0.625rem 0.625rem 0.625rem 0.625rem;
    box-sizing: border-box;
    font-size: 1.125rem;
}

.coursesystem-booking .form-row .radio-canvas {
    display: flex;
    gap: 2.5rem;
}

.coursesystem-booking .radio-canvas .radio-wrapper {
    display: flex;
    align-items: center;
}

.coursesystem-booking .form-row .radio-wrapper label {
    width: fit-content;
}

.coursesystem-booking .form-row .selectbox,
.coursesystem-booking .form-row textarea {
    height: 3.4375rem;
    width: 100%;
    font-size: 1.125rem;
    border: solid 0.125rem #e0e0e0;
    border-radius: 0.625rem;
    padding: 0.625rem;
    box-sizing: border-box;
    background: #fff;
}

.coursesystem-booking .form-row .selectbox {
    background: url('/_images/select.svg') no-repeat #fff;
    background-size: auto;
    background-size: 1.375rem;
    background-position: calc(100% - 0.625rem);
    appearance: none;
    padding-right: 2rem;
}

.coursesystem-booking .form-row textarea {
    min-height: 9.375rem;
    font-family: 'Open Sans';
}


.coursesystem-booking .course-detail .booking-canvas .box {
    background: #fff;
    padding: 1.25rem;
    border-radius: 0.625rem;
    margin-bottom: 1.875rem;
}

.coursesystem-booking .course-detail .booking-canvas .box.flex {
    display: flex;
    flex-flow: column;
}


.coursesystem-booking .course-detail .booking-canvas .button-submit {
    background: #449cdb;
    color: #000;
    padding: 0.75rem 5rem;
    border-radius: 0.3125rem;
    border: none;
    font-size: 1.125rem;
    cursor: pointer;
    height: 100%;
    border: #449CDB solid 0.188rem;
    transition: all .25s ease-in-out;
}

.coursesystem-booking .course-detail .booking-canvas .button-submit:focus-visible {
    outline: var(--outline-default);
    outline-offset: var(--outline-offset-default);
}

.coursesystem-booking .course-detail .booking-canvas .button-submit:hover {
    background: #fff;
    color: #000;
}

@media only screen and (max-width: 75rem) {
    .coursesystem-booking .form-row.rechnung .radio-canvas {
        flex-flow: column;
        gap: 1.25rem;
    }

    .coursesystem-booking .terminbox.dozent {
        display: none;
    }
}

@media only screen and (max-width: 64rem) {
    .coursesystem-booking .terminbox.price {
        display: none;
    }
}

@media only screen and (max-width: 50rem) {
    .coursesystem-booking .course-detail .booking-canvas .button-submit {
        padding: 0.75rem 2.5rem;
        box-sizing: border-box;
        white-space: wrap;
        max-width: 100%;
    }
}

@media only screen and (max-width: 43.75rem) {
    .coursesystem-booking .terminbox.number {
        display: none;
    }
}

@media only screen and (max-width: 32.5rem) {
    .coursesystem-booking .terminbox.state .state.free-spots .text {
        display: none;
    }
}

@media only screen and (max-width: 30rem) {

    .coursesystem-booking .form-row .radio-canvas {
        flex-flow: column;
        gap: 0.3125rem;
    }
}

@media only screen and (max-width: 26.25rem) {
    .coursesystem-booking .link-back {
        min-width: unset;
    }
}

/*** .coursesystem-inforequest
******************************************************************/

.coursesystem-inforequest {
    font-size: 1.125rem;
}

.coursesystem-inforequest .link-back {
    padding: 0.5625rem 1.25rem;
    width: fit-content;
    min-width: 16.875rem;
    border: 0.125rem #449cdb solid;
    border-radius: 0.3125rem;
    display: inline-block;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    background: #fff;
}

.coursesystem-inforequest .link-back:before {
    content: '\f053';
    font-family: 'Font Awesome 6 Pro';
}

.coursesystem-inforequest .text {
    float: left;
    padding: 0.5rem 0 0.5rem 0;
}

.coursesystem-inforequest .smalltext {
    font-size: 0.75rem;
}

.coursesystem-inforequest .lastschrift-fields {
    display: none;
    float: left;
}

.coursesystem-inforequest .billing_adress {
    display: none;
    float: left;
    margin-bottom: 0.625rem;
}

.coursesystem-inforequest .radio-wrapper {
    display: flex;
    padding: 0.5rem 0 0.5rem 0;
}

.coursesystem-inforequest .radio-canvas .radio-wrapper {
    float: left;
    padding: 0;
}

.course-detail label[for='check_billingadresse'] {
    -ms-hyphens: auto;
    -webkit-hyphens: auto;
    hyphens: auto;
}

.course-detail .termin-list {
    display: table;
    width: 100%;
    line-height: 1.125rem;
}

.coursesystem-inforequest.contentbox {
    overflow: unset;
}

.coursesystem-inforequest .form-row label {
    width: 43.75rem;
}

.coursesystem-inforequest .form-row.dataprotection {
    flex-flow: row;
    gap: 0.5rem;
    align-items: baseline;
}

.coursesystem-inforequest .termin-list.headline {
    margin: 0.625rem 0 0 0;
    color: #449cdb;
    border-bottom: 0.0625rem solid #D9DADB;
    padding-bottom: 0.3125rem;
    font-weight: 700;
    font-family: 'Open Sans Bold', sans-serif;
}

.coursesystem-inforequest .terminbox {
    display: table-cell;
}

.coursesystem-inforequest .terminbox.radio {
    width: 5%;
}

.coursesystem-inforequest .terminbox.number {
    width: 20%;
}

.coursesystem-inforequest .terminbox.date {
    width: 35%;
}

.coursesystem-inforequest .terminbox.dozent {
    width: 30%;
}

.coursesystem-inforequest .terminbox.price {
    width: 10%;
}

.coursesystem-inforequest .termin-list-item {
    padding: 0.625rem 0;
    border-bottom: 0.0625rem solid #D9DADB;
}

.coursesystem-inforequest .termin-list-item:last-child {
    padding: 0.625rem 0 0 0;
    border-bottom: 0;
}

.coursesystem-inforequest .button-submit {
    margin-top: 1.25rem;
}

.coursesystem-inforequest .link-back {
    margin-bottom: 1.25rem;
}

.coursesystem-inforequest .link-back:focus-visible {
    outline: var(--outline-default);
    outline-offset: var(--outline-offset-default);
}

.coursesystem-inforequest .datenschutz-text,
.coursesystem-inforequest .datenschutz-text {
    margin-top: 3.125rem;
    font-size: 0.75rem;
}

.coursesystem-inforequest .form-row {
    display: flex;
    flex-flow: column;
}

.coursesystem-inforequest .form-row input.textbox {
    height: 3.4375rem;
    width: 100%;
    font-size: 1.125rem;
    border: solid 0.125rem #e0e0e0;
    border-radius: 0.625rem;
    padding: 0.625rem 0.625rem 0.625rem 0.625rem;
    box-sizing: border-box;
}

.coursesystem-inforequest .form-row .radio-canvas {
    display: flex;
    gap: 2.5rem;
}

.coursesystem-inforequest .radio-canvas .radio-wrapper {
    display: flex;
    align-items: center;
}

.coursesystem-inforequest .form-row .radio-wrapper label {
    width: fit-content;
}

.coursesystem-inforequest .form-row .selectbox,
.coursesystem-inforequest .form-row textarea {
    height: 3.4375rem;
    width: 100%;
    font-size: 1.125rem;
    border: solid 0.125rem #e0e0e0;
    border-radius: 0.625rem;
    padding: 0.625rem;
    box-sizing: border-box;
    background: #fff;
}

.coursesystem-inforequest .form-row input:focus-visible,
.coursesystem-inforequest .form-row textarea:focus-visible,
.coursesystem-inforequest .form-row select:focus-visible {
    outline: var(--outline-default);
    outline-offset: var(--outline-offset-default);
}

.coursesystem-inforequest .form-row .selectbox {
    background: url('/_images/select.svg') no-repeat #fff;
    background-size: auto;
    background-size: 1.375rem;
    background-position: calc(100% - 0.625rem);
    appearance: none;
}

.coursesystem-inforequest .form-row textarea {
    min-height: 9.375rem;
    font-family: 'Open Sans';
}


.coursesystem-inforequest .course-detail .booking-canvas .box {
    background: #fff;
    padding: 1.25rem;
    border-radius: 0.625rem;
    margin-bottom: 1.875rem;
}

.coursesystem-inforequest .course-detail .booking-canvas .box.flex {
    display: flex;
    flex-flow: column;
}


.coursesystem-inforequest .course-detail .booking-canvas .button-submit {
    background: #449cdb;
    color: #000;
    padding: 0.75rem 5rem;
    border-radius: 0.3125rem;
    border: none;
    font-size: 1.125rem;
    cursor: pointer;
}

.coursesystem-inforequest .course-detail .booking-canvas .button-submit:focus-visible {
    outline: var(--outline-default);
    outline-offset: var(--outline-offset-default);
}

@media only screen and (max-width: 75rem) {
    .coursesystem-inforequest .form-row.rechnung .radio-canvas {
        flex-flow: column;
        gap: 1.25rem;
    }
}

@media only screen and (max-width: 50rem) {
    .coursesystem-inforequest .terminbox.dozent {
        display: none;
    }

    .coursesystem-inforequest .course-detail .booking-canvas .button-submit {
        padding: 0.75rem 2.5rem;
        box-sizing: border-box;
        white-space: wrap;
        max-width: 100%;
    }
}

@media only screen and (max-width: 30rem) {
    .coursesystem-inforequest .terminbox.number {
        display: none;
    }

    .coursesystem-inforequest .form-row .radio-canvas {
        flex-flow: column;
        gap: 0.3125rem;
    }
}

@media only screen and (max-width: 26.25rem) {
    .coursesystem-inforequest .link-back {
        min-width: unset;
    }
}

/* info-accordion */

.info-accordion .container .border-top {
    transform: rotate(180deg);
    margin-bottom: -0.0625rem;
}

.info-accordion .container .border-bottom {
    margin-top: -0.0625rem;
}

.info-accordion .container .border-top,
.info-accordion .container .border-bottom {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    box-sizing: border-box;
    min-height: 1.4375rem;
}

.info-accordion .accordion {
    background: #fff;
    border-radius: 0.625rem;
    overflow: hidden;
}

.info-accordion .accordion .top {
    display: flex;
}

.info-accordion .accordion .top .image {
    width: 28.125rem;
    min-width: 28.125rem;
}

.info-accordion .accordion .top .content {
    display: flex;
    flex-flow: column;
    padding: 1.875rem;
    gap: 1.25rem;
    position: relative;
    box-sizing: border-box;
    margin-bottom: 3.75rem;
    width: calc(100% - 28.125rem);
    transition: margin-bottom .5s ease-in-out;
}

.info-accordion .accordion .top .content.no-trigger-margin {
    margin-bottom: 0;
}


.info-accordion .accordion .top .content .headline {
    font-size: 1.375rem;
    font-family: 'Open Sans Bold', sans-serif;
    padding-right: 3.125rem;
    margin-bottom: 0;
}

.info-accordion .accordion .text {
    max-width: 62.5rem;
    font-size: 1.125rem;
}

.info-accordion .accordion .text {
    font-size: 1.125rem;
    color: #000;
}

.info-accordion .accordion .top .text h3,
.info-accordion .accordion .bottom .text h3 {
    font-size: 1.125rem;
    font-family: 'Open Sans Bold', sans-serif;
    color: inherit;
}

.info-accordion .accordion .top .content .accordion-trigger {
    cursor: pointer;

}

.info-accordion .accordion .accordion-trigger:before {
    content: '\f078';
    font-family: 'Font Awesome 6 Pro';
    transition: all .5s ease-in-out;
}

.info-accordion .accordion.open .accordion-trigger:before {
    transform: rotate(180deg);
}

.info-accordion .accordion .accordion-trigger:focus-visible {
    outline: var(--outline-default);
    outline-offset: var(--outline-offset-default);
}

.info-accordion .accordion .accordion-trigger.flex {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    width: fit-content;
    margin: -3.75rem auto 1.875rem 30rem;
    transition: all .5s ease-in-out;
    position: relative;
    z-index: 10;
    cursor: pointer;
    font-size: inherit;
    color: inherit;
    border: none;
    background: none;
}

.info-accordion .accordion .accordion-trigger.flex:before {
    font-size: 1.75rem;
}

.info-accordion .accordion.open .accordion-trigger.flex {
    margin-left: 3.125rem;
}

.info-accordion .accordion .top .content .accordion-trigger.absolute {
    position: absolute;
    top: 0.9375rem;
    right: 1.8125rem;
    z-index: 5;
    font-size: inherit;
    color: inherit;
    border: none;
    background: none;
}

.info-accordion .accordion .top .content .accordion-trigger.absolute:before {
    font-size: 2.5rem;
    display: inline-block;
}

.info-accordion .accordion .bottom {
    display: none;
    padding: 1.5625rem 3.125rem 1.5625rem;
    margin-bottom: 3.75rem;
}

.info-accordion .accordion.icons .bottom {
    padding: 0 1.875rem 1.5625rem;
    margin-bottom: 0;
}

.info-accordion .accordion.icons .top .content {
    margin-bottom: 0;
    padding: 1.875rem 1.875rem 1.25rem 1.875rem;
}

.info-accordion .accordion.icons .accordion-trigger.flex {
    margin: 0 auto 0 1.875rem;
}

.info-accordion .accordion.icons .accordion-trigger.flex:focus-visible {
    outline: var(--outline-default);
    outline-offset: var(--outline-offset-default);
}

.info-accordion .accordion .bottom .infobox {
    background: #EEEEEE;
    border-radius: 0.625rem;
    padding: 1.25rem 2.1875rem;
    display: flex;
    flex-flow: column;
    gap: 0.9375rem;
    margin-top: 2.8125rem;
    width: fit-content;
}

.info-accordion .accordion .bottom .infobox a:focus-visible {
    outline: var(--outline-default);
    outline-offset: var(--outline-offset-default);
}

.info-accordion .accordion .bottom .infobox .headline {
    font-size: 1.25rem;
}

.info-accordion .accordion .bottom .infobox .text,
.info-accordion .accordion .bottom .infobox .left,
.info-accordion .accordion .bottom .infobox .right {
    color: #000;
}

.info-accordion .accordion .bottom .infobox .infos {
    display: flex;
    gap: 3.125rem;
}

.info-accordion .accordion .bottom .infobox .infos .left {
    display: flex;
    flex-flow: column;
    gap: 0.625rem;
    font-family: 'Open Sans Bold';
}

.info-accordion .accordion .bottom .infobox .infos .left .telephone,
.info-accordion .accordion .bottom .infobox .infos .left .telefax,
.info-accordion .accordion .bottom .infobox .infos .left .mail,
.info-accordion .accordion .bottom .infobox .infos .right .availability-head {
    display: flex;
    gap: 0.5rem;
    width: fit-content;
}

.info-accordion .accordion .bottom .infobox .infos .left .telephone:before,
.info-accordion .accordion .bottom .infobox .infos .left .telefax:before,
.info-accordion .accordion .bottom .infobox .infos .left .mail:before,
.info-accordion .accordion .bottom .infobox .infos .right .availability-head:before {
    font-family: 'Font Awesome 6 Pro';
}

.info-accordion .accordion .bottom .infobox .infos .left .telephone:before {
    content: '\f095';
}

.info-accordion .accordion .bottom .infobox .infos .left .telefax:before {
    content: '\f1ac';
}

.info-accordion .accordion .bottom .infobox .infos .left .mail:before {
    content: '\f0e0';
}

.info-accordion .accordion .bottom .infobox .infos .right .availability-head:before {
    content: '\f073';
}

.info-accordion .accordion .bottom .infobox .infos .right .availability-head {
    font-family: 'Open Sans Bold';
}

.info-accordion .accordion .bottom .infobox .infos .right .availability-text {
    margin-left: 1.375rem;
}

.info-accordion .accordion.icons {
    padding: 1.25rem 3.125rem;
}

.info-accordion .accordion.icons .content {
    width: 100%;
}

.info-accordion .accordion.icons .content .icons {
    display: flex;
    width: 100%;
    color: #000;
    gap: 1.25rem;
}

.info-accordion .accordion.icons .content .icons .section {
    display: flex;
}

.info-accordion .accordion.icons .content .icons .section {
    display: flex;
    gap: 1.25rem;
    align-items: center;
}

.info-accordion .accordion.icons .content .icons .section .text {
    font-family: 'Open Sans Bold';
    max-width: 15rem;
}

.info-accordion .accordion.icons .content .icons .section .icon-1:before {
    content: '\f0c0';
    font-family: 'Font Awesome 6 Pro';
    font-size: 2.1875rem;
}

.info-accordion .accordion.icons .content .icons .section .icon-2:before {
    content: '\f017';
    font-family: 'Font Awesome 6 Pro';
    font-size: 2.1875rem;
}

.info-accordion .accordion.icons .content .icons .section .icon-3:before {
    content: '\e5ce';
    font-family: 'Font Awesome 6 Pro';
    font-size: 2.1875rem;
}

.info-accordion .link-button {
    font-size: 1.125rem;
    display: inline-block;
    width: fit-content;
    padding: 0.5rem 1.25rem;
    max-width: 100%;
    border-radius: 0.3125rem;
    box-sizing: border-box;
    font-family: 'Open Sans', sans-serif;
    text-transform: none;
    transition: all .25s ease-in-out;
}

.info-accordion .link-button:focus-visible {
    outline: var(--outline-default);
    outline-offset: var(--outline-offset-default);
}

.info-accordion .link-button.blue {
    border: 0.188rem solid #245496;
}

.info-accordion .link-button.light-blue {
    border: 0.188rem solid #449CDB;
    color: #000;
}

.info-accordion .link-button.orange {
    border: 0.188rem solid #FF8B00;
    color: #000;
}

.info-accordion .link-button.violet {
    border: 0.188rem solid #9B0687;
}

.info-accordion .link-button.green {
    border: 0.188rem solid #B3CE36;
    color: #000;
}

.info-accordion .link-button.yellow {
    border: 0.188rem solid #E8C425;
    color: #000;
}

.info-accordion .link-button.emerald {
    border: 0.188rem solid #175C6E;
}

.info-accordion .link-button.teal {
    border: 0.188rem solid #49AFB1;
    color: #000;
}

.info-accordion .link-button:hover {
    background: #fff;
    color: #000;
}

@media only screen and (max-width: 64rem) {
    .info-accordion .accordion:not(.icons) .top {
        flex-flow: column
    }

    .info-accordion .accordion:not(.icons) .top .content {
        width: 100%;
    }

    .info-accordion .accordion:not(.icons) .top .image {
        margin: 1.25rem auto auto;
        border-radius: 0.625rem;
        overflow: hidden;
    }

    .info-accordion .accordion .bottom {
        padding: 0 1.875rem 1.5625rem;
    }

    .info-accordion .accordion:not(.icons) .accordion-trigger.flex {
        margin: -3.75rem auto 1.875rem 1.875rem !important;
    }

    .info-accordion .accordion.icons .content .icons {
        flex-flow: column;
    }

    .info-accordion .accordion.icons .content .icons .section .text {
        max-width: 25rem;
        width: 100%;
    }

    .info-accordion .link-button {
        margin: auto;
        text-align: center;
    }
}

@media only screen and (max-width: 50rem) {
    .info-accordion .accordion.icons {
        padding: 0.3125rem 0 1.25rem;
    }

    .info-accordion .accordion .top .content {
        padding: 1.875rem 1.25rem 1.25rem;
    }

    .info-accordion .accordion.image .bottom {
        padding: 0 1.25rem 1.5625rem;
        margin-top: -3.125rem;
    }

    .info-accordion .accordion .bottom .infobox .infos {
        display: flex;
        gap: 0.625rem;
        flex-flow: column;
    }

    .info-accordion .accordion .bottom .infobox {
        width: 100%;
        box-sizing: border-box;
        padding: 1.25rem;
    }

}

@media only screen and (max-width: 34.375rem) {
    .info-accordion .accordion:not(.icons) .top .image {
        min-width: unset;
        width: 100%;
        margin: auto;
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
    }
}

@media only screen and (max-width: 32.5rem) {
    .info-accordion .accordion .top .content .headline {
        padding-right: 0;
    }

    .info-accordion .accordion .top .content .accordion-trigger.absolute {
        display: none;
    }

    .info-accordion .accordion.icons .content .icons .section .icon-1:before,
    .info-accordion .accordion.icons .content .icons .section .icon-2:before,
    .info-accordion .accordion.icons .content .icons .section .icon-3:before {
        font-size: 1.5625rem;
    }

}

/* contactform */

.pageElement-contactform .box {
    background: #fff;
    padding: 1.25rem;
    border-radius: 0.625rem;
    margin-bottom: 1.875rem;
}

.jobapplication-form .pageElement-contactform .box {
    border-radius: 0;
}

.pageElement-contactform .form-row {
    display: flex;
    flex-flow: column;
}

.pageElement-contactform .form-row.dataprotection {
    flex-flow: row;
    gap: 0.5rem;
    align-items: baseline;
}

.pageElement-contactform .form-row .radio-wrapper {
    display: flex;
    padding: 0.5rem 0 0.5rem 0;
}

.pageElement-contactform .form-row label.checkbox-text {
    padding: 0 0 0 1rem;
    width: 100%;
    max-width: 62.5rem;
}

.pageElement-contactform .form-row .selectbox,
.pageElement-contactform .form-row textarea {
    height: 3.4375rem;
    width: 100%;
    border: 0.0625rem solid #000;
    border-radius: 0.625rem;
    padding: 0.625rem;
    box-sizing: border-box;
    background: #fff;
    font-size: 1.125rem;
}

.pageElement-contactform .form-row input:focus-visible,
.pageElement-contactform .form-row textarea:focus-visible,
.pageElement-contactform .form-row select:focus-visible {
    outline: var(--outline-default);
    outline-offset: var(--outline-offset-default);
}

.pageElement-contactform .form-row textarea {
    min-height: 9.375rem;
    font-family: 'Open Sans';
}

.pageElement-contactform .form-row input.textbox {
    height: 3.4375rem;
    width: 100%;
    border: 0.0625rem solid #000;
    border-radius: 0.625rem;
    padding: 0.625rem 0.625rem 0.625rem 0.625rem;
    box-sizing: border-box;
    font-size: 1.125rem;
}

.pageElement-contactform .form-row .selectbox {
    background: url('/_images/select.svg') no-repeat #fff;
    background-position-x: 0%;
    background-position-y: 0%;
    background-size: auto;
    background-size: auto;
    background-size: 1.375rem;
    background-position: calc(100% - 0.625rem);
    appearance: none;
}

.pageElement-contactform .link {
    color: #ff8c00;
    padding: 0.5625rem 1.25rem;
    width: fit-content;
    min-width: 16.875rem;
    border: 0.125rem #ff8c00 solid;
    border-radius: 0.3125rem;
    display: inline-block;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    background: #fff;
}

.pageElement-contactform .link::before {
    content: '\f053';
    font-family: 'Font Awesome 6 Pro';
}

/* link-box */

.link-box .container > .content {
    display: flex;
    flex-wrap: wrap;
    gap: 3.125rem;
    justify-content: center;
}

.link-box .container .outer-box {
    width: calc(100% - 1.5625rem);
    max-width: 42.1875rem;
    display: flex;
    flex-flow: column;
    justify-content: center;

}

.link-box .container .outer-box .inner-box {
    background: #fff;
    border-radius: 0.625rem;
    overflow: hidden;
    display: flex;
    flex-flow: column;
    align-items: center;
    height: 100%;
}

.link-box .container .outer-box .border-top,
.link-box .container .outer-box .border-bottom {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    box-sizing: border-box;
    height: 1.875rem;
    min-height: 1.4375rem;
}

.link-box .container .outer-box .border-top {
    transform: rotate(180deg);
    margin-bottom: -0.0625rem;
}

.link-box .container .outer-box .border-bottom {
    margin-top: -0.0625rem;
}

.link-box .container .outer-box .inner-box .content {
    padding: 1.875rem;
    font-size: 1.125rem;
    text-align: center;
    display: flex;
    flex-flow: column;
}

.link-box .container .outer-box .inner-box .content .headline {
    font-size: 1.375rem;
    font-family: 'Open Sans Bold';
    margin-bottom: 0.625rem;
}

.link-box .container .outer-box .inner-box .content .subheadline {
    font-size: 1.25rem;
    margin-bottom: 1.25rem;
}

.link-box .container .outer-box .inner-box .content .text {
    color: #000;
    margin-bottom: 1.25rem;
}

.link-box .container .outer-box .inner-box .content .address,
.link-box .container .outer-box .inner-box .content .contact {
    color: #000;
    margin-bottom: 0.3125rem;
}

.link-box .container .outer-box .inner-box .content .contact {
    display: flex;
    justify-content: center;
    gap: 0.625rem;
    margin-bottom: 1.25rem;
}

.link-box .container .outer-box .inner-box .content .contact .phone,
.link-box .container .outer-box .inner-box .content .contact .email {
    display: flex;
    gap: 0.3125rem
}

.link-box .container .outer-box .inner-box .content .contact .phone span:not(.icon),
.link-box .container .outer-box .inner-box .content .contact .email span:not(.icon) {
    text-decoration: underline;
}

.link-box .container .outer-box .inner-box .content .contact .phone:hover span:not(.icon),
.link-box .container .outer-box .inner-box .content .contact .email:hover span:not(.icon) {
    text-decoration-thickness: 0.125rem;
}

.link-box .container .outer-box .inner-box .content .contact .phone:focus-visible,
.link-box .container .outer-box .inner-box .content .contact .email:focus-visible {
    outline: var(--outline-default);
    outline-offset: var(--outline-offset-default);
);
}

.link-box .container .outer-box .inner-box .content .contact .phone .icon:before {
    content: '\f095';
    font-family: 'Font Awesome 6 Pro', sans-serif;
}

.link-box .container .outer-box .inner-box .content .contact .email .icon:before {
    content: '\f0e0';
    font-family: 'Font Awesome 6 Pro', sans-serif;
}

.link-box .container .outer-box .inner-box .content .link {
    width: fit-content;
    margin: auto;
    display: flex;
    gap: 0.3125rem;
    justify-content: center;
    align-items: center;
}

.link-box .container .outer-box .inner-box .content .link:focus-visible {
    outline: var(--outline-default);
    outline-offset: var(--outline-offset-default);
}

.link-box .container .outer-box .inner-box .content .link.intern:focus-visible {
    outline: var(--outline-default);
    outline-offset: var(--outline-offset-default);
}

.link-box .container .outer-box .inner-box .content .link.intern {
    font-size: 1.125rem;
    color: #fff;
    margin: auto;
    padding: 0.5rem 1.25rem;
    border-radius: 0.3125rem;
    min-width: 18.75rem;
    max-width: 100%;
    transition: all 0.25s ease-in-out;
}

/*
.link-box .container .outer-box .inner-box .content .link.intern:before {
  content: '\f324';
  font-family: 'Font Awesome 6 Pro';
}
*/
.link-box .container .outer-box .inner-box .content .link.extern .icon:before {
    content: '\f08e';
    font-family: 'Font Awesome 6 Pro', sans-serif;
}

.link-box .container .outer-box .inner-box .content .link span:not(.icon) {
    text-decoration: underline;
}

.link-box .container .outer-box .inner-box .content .link:hover span:not(.icon) {
    text-decoration-thickness: 0.125rem;
}

.link-box .container .outer-box .inner-box .content .link.blue {
    border: 0.188rem solid #245496;
}

.link-box .container .outer-box .inner-box .content .link.light-blue {
    border: 0.188rem solid #449CDB;
    color: #000;
}

.link-box .container .outer-box .inner-box .content .link.orange {
    border: 0.188rem solid #FF8B00;
    color: #000;
}

.link-box .container .outer-box .inner-box .content .link.violet {
    border: 0.188rem solid #9B0687;
}

.link-box .container .outer-box .inner-box .content .link.green {
    border: 0.188rem solid #B3CE36;
    color: #000;
}

.link-box .container .outer-box .inner-box .content .link.yellow {
    border: 0.188rem solid #E8C425;
    color: #000;
}

.link-box .container .outer-box .inner-box .content .link.emerald {
    border: 0.188rem solid #175C6E;
}

.link-box .container .outer-box .inner-box .content .link.teal {
    border: 0.188rem solid #49AFB1;
    color: #000;
}

.link-box .container .outer-box .inner-box .content .link:hover {
    background: #fff;
    color: #000;
}

@media only screen and (max-width: 50rem) {
    .link-box .container .outer-box .inner-box .content {
        padding: 1.25rem;
    }

    .link-box .container .outer-box {
        width: 100%;
        max-width: unset;
    }
}

@media only screen and (max-width: 42.5rem) {
    .link-box .container .outer-box .inner-box .content .contact {
        gap: 0.1875rem;
        flex-flow: column;
        align-items: center;
    }
}

@media only screen and (max-width: 32.5rem) {
    .link-box .container .outer-box .border-top,
    .link-box .container .outer-box .border-bottom {
        height: unset;
    }

    .link-box .container .outer-box .inner-box .content .link.intern {
        min-width: unset;
    }

    .link-box .container .outer-box .inner-box .content .link,
    .link-box .container .outer-box .inner-box .content .contact .phone,
    .link-box .container .outer-box .inner-box .content .contact .email {
        display: inline-block;
    }

    .link-box .container .outer-box .inner-box .content .link:before,
    .link-box .container .outer-box .inner-box .content .contact .phone:before,
    .link-box .container .outer-box .inner-box .content .contact .email:before {
        margin-right: 0.5rem;
    }
}

/* pageelement-headline */

.pageelement-headline h2 {
    font-size: 1.875rem;
    font-family: 'Open Sans Bold';
}

.pageelement-headline.no_margin_bottom {
    margin-bottom: 1.5625rem;
}

/* pageelement-button-main */

.pageelement-button-main.contentbox {
    overflow: unset;
}

.pageelement-button-main .button {
    color: #fff;
    font-size: 1.5rem;
    margin-right: auto;
    padding: 0.5rem 1.25rem;
    border-radius: 0.3125rem;
    display: inline-block;
    min-width: 18.75rem;
    text-align: center;
    box-sizing: border-box;
    transition: all .25s ease-in-out;
}

.pageelement-button-main .button.background-colored.blue {
    border: 0.188rem solid #245496;
}

.pageelement-button-main .button.background-colored.light-blue {
    border: 0.188rem solid #449CDB;
    color: #000;
}

.pageelement-button-main .button.background-colored.orange {
    border: 0.188rem solid #FF8B00;
    color: #000;
}

.pageelement-button-main .button.background-colored.violet {
    border: 0.188rem solid #9B0687;
}

.pageelement-button-main .button.background-colored.green {
    border: 0.188rem solid #B3CE36;
    color: #000;
}

.pageelement-button-main .button.background-colored.yellow {
    border: 0.188rem solid #E8C425;
    color: #000;
}

.pageelement-button-main .button.background-colored.emerald {
    border: 0.188rem solid #175C6E;
}

.pageelement-button-main .button.background-colored.teal {
    border: 0.188rem solid #49AFB1;
    color: #000;
}

.pageelement-button-main .button:hover {
    background: #fff;
    color: #000;
}

.pageelement-button-main .button:focus-visible {
    outline: var(--outline-default);
    outline-offset: var(--outline-offset-default);
}

@media only screen and (max-width: 32.5rem) {
    .pageelement-button-main .button {
        width: 100%;
        font-size: 1.25rem;
        min-width: unset;
    }
}

/* pageelement-text-simple */

.pageelement-text-simple .container {
    font-size: 1.125rem;
    max-width: 62.5rem;
}

.pageelement-text-simple .headline {
    margin-bottom: 1.25rem;
}

.pageelement-text-simple .text h3 {
    font-size: 1.375rem;
    font-weight: 700;
    font-family: 'Open Sans Bold', sans-serif;
}

/*** job-list, .locations-main
******************************************************************/

.pageelement-job-list .content-container .item {
    padding: 1.5625rem 0;
    border-bottom: 0.0625rem solid #707070;
}

.pageelement-job-list .content-container .item:first-child {
    border-top: 0.0625rem solid #707070;
}

.pageelement-job-list .content-container .item .item-link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1.25rem;
}

.pageelement-job-list .content-container .item .item-link:focus-visible {
    outline: none;
}

.pageelement-job-list .content-container .item .item-link:focus-visible .button {
    outline: var(--outline-default);
    outline-offset: var(--outline-offset-default);
}

.pageelement-job-list .content-container .item .text-container {
    max-width: 62.5rem;
}

.pageelement-job-list .content-container .item .button,
.pageelement-job-list .content-container .listpage-button {
    min-width: 15rem;
    background: #ff8c00;
    color: #000;
    text-align: center;
    padding: 0.5rem 1.25rem;
    box-sizing: border-box;
    border-radius: 0.625rem;
    border: #ff8C00 0.188rem solid;
    transition: all .25s ease-in-out;
}

.pageelement-job-list .content-container .item .button:hover,
.pageelement-job-list .content-container .listpage-button:hover {
    background: #fff;
}

.pageelement-job-list .content-container .listpage-button:focus-visible {
    outline: var(--outline-default);
    outline-offset: var(--outline-offset-default);
}

.pageelement-job-list .content-container .listpage-button {
    display: inline-block;
    margin-top: 1.5625rem;
}

.pageelement-job-list .content-container .item .organisation:before {
    color: #ff8c00;
    font-family: 'Font Awesome 6 Pro';
    content: '\f3c5';
}

.pageelement-job-list .content-container .item .organisation {
    margin-bottom: 0.625rem;
    display: flex;
    gap: 0.625rem;
}

.pageelement-job-list .content-container .item .title {
    font-size: 1.25rem;
    font-family: 'Open Sans Bold', sans-serif;
}

.pageelement-job-list .content-container .item .text {
    font-size: 1.125rem;
}

@media only screen and (max-width: 50rem) {
    .pageelement-job-list .content-container .item .item-link {
        flex-flow: column;
        align-items: start;
    }
}

@media only screen and (max-width: 32.5rem) {
    .pageelement-job-list .content-container .item .button,
    .pageelement-job-list .content-container .listpage-button {
        min-width: unset;
        max-width: 100%;

    }

    .pageelement-job-list .content-container .listpage-button {

        width: 100%;
    }
}

/* place-list */

.place-list {
    height: auto;
    overflow: hidden;
}

.place-list .container .content {
    display: flex;
    gap: 2.8125rem;
}

.place-list .container .headline {
    margin-bottom: 1.25rem;
}


.place-list .container #infobox-maps,
.place-list .container .map-search-container {
    width: 50%;
}

.place-list #openstreetmap-container {
    width: 100%;
    height: 100%;
    min-height: 25rem;
}

.place-list .map-search-container {
    width: 50%;
    height: fit-content;
    box-sizing: border-box;
    display: flex;
    flex-flow: column;
    gap: 1.25rem;
    justify-content: center;

}

.place-list .map-search-container .house-search-input {
    height: 4.4375rem;
    width: 100%;
    padding-left: 1.25rem;
    font-size: 1.5rem;
    line-height: 2.0625rem;
}

.pageelement-place-list .map-search-container .caption {
    background: #EEEEEE;
    border-radius: 0.625rem;
    display: flex;
    gap: 2.5rem;
    justify-content: space-around;
    padding: 0.3125rem 0.625rem;
}

.pageelement-place-list .map-search-container .caption .icon {
    display: flex;
    gap: 0.5rem;
}

.pageelement-place-list .map-search-container .educationcenter .icon-container:before {
    font-family: 'Font Awesome 6 Pro';
    content: '\f19d';
}

.pageelement-place-list .map-search-container .secondhand .icon-container:before {
    font-family: 'Font Awesome 6 Pro';
    content: '\f07a';
}

.pageelement-place-list .map-search-container .lunch .icon-container:before {
    font-family: 'Font Awesome 6 Pro';
    content: '\f2e7';
}

.pageelement-place-list .map-search-container .places-list {
    display: flex;
    flex-wrap: wrap;
    gap: 1.25rem;
    row-gap: 0.625rem;
    width: 100%;
}

.pageelement-place-list .map-search-container .places-list .place-item {
    width: calc(50% - 0.625rem);
    border: #ff8c00 solid 0.0625rem;
    border-radius: 0.625rem;
    padding: 0.875rem 1.25rem;
    box-sizing: border-box;
    cursor: pointer;
    display: flex;
    gap: 0.5rem;
    align-items: center;
    z-index: 5;
    transition: all .25s ease-in-out;
}

.pageelement-place-list .map-search-container .places-list .place-item:hover {
    background: #ff8c00;
}

.pageelement-place-list .map-search-container .places-list .place-item:focus-visible {
    outline: var(--outline-default);
    outline-offset: var(--outline-offset-default);
}

.pageelement-place-list .map-search-container .places-list .place-item *:nth-child(2) {
    margin-left: auto;
}

.pageelement-place-list .leaflet-popup-content {
    min-width: 12.5rem;
}

@media only screen and (max-width: 75rem) {
    .place-list .container .content {
        flex-flow: column;
    }

    .place-list .container #infobox-maps,
    .place-list .container .map-search-container {
        width: 100%;
    }
}

@media only screen and (max-width: 36.25rem) {
    .pageelement-place-list .map-search-container .caption {
        flex-flow: column;
        align-items: center;
        gap: 0.625rem;
    }

    .pageelement-place-list .map-search-container .places-list .place-item {
        width: 100%;
    }
}

/*** pageelement pageelement_news-teaser
******************************************************************/

.pageelement-news-socialmedia.contentbox {
    overflow: unset;
}

.pageelement-news-socialmedia .content-container {

}

.pageelement-news-socialmedia h2 {
    font-size: 1.625rem;
    font-weight: 700;
    margin-bottom: 1.25rem;
    font-family: 'Open Sans Bold';
}

.pageelement-news-socialmedia .news {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(20.3125rem, 1fr));
    gap: 1.875rem;
}

.pageelement-news-socialmedia .news a:focus-visible {
    outline: var(--outline-default);
    outline-offset: var(--outline-offset-default);
}

.pageelement-news-socialmedia .news .post {
    background: #fff;
    height: 100%;
    border-radius: 0.625rem;
    overflow: hidden;
}

.pageelement-news-socialmedia .news .post-instagram:before {
    content: '\f16d';
    font: var(--fa-font-brands);
    font-size: 2.8125rem;
}

.pageelement-news-socialmedia .news .post-instagram img {
    aspect-ratio: 1;
    object-fit: cover;
}

.pageelement-news-socialmedia .news .post .text {
    padding: 0.9375rem 1.5625rem 1.25rem;
}

.pageelement-news-socialmedia .news .post .text .title {
    font-size: 1.25rem;
    font-family: 'Open Sans Bold';
}

.pageelement-news-socialmedia .news .post .text .description {
    font-size: 1.125rem;
}

.pageelement-news-socialmedia .links {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.9375rem;
    margin-top: 1.875rem;
}

.pageelement-news-socialmedia .links a {
    color: #000;
    font-size: 1.125rem;
}

.pageelement-news-socialmedia .links a:hover {
    text-decoration: underline;
    text-decoration-thickness: 0.125rem;
}

.pageelement-news-socialmedia .links a:focus-visible {
    outline: var(--outline-default);
    outline-offset: var(--outline-offset-default);
}

.pageelement-news-socialmedia .links a span {
    margin-right: 0.3125rem;
    font-style: normal;
}

.pageelement-news-socialmedia .links a span.icon-more:before {
    font-family: 'Font Awesome 6 Pro';
    content: '\f32b';
}

.pageelement-news-socialmedia .links a span.icon-facebook:before {
    font-family: 'Font Awesome 6 Brands Regular';
    content: '\f09a';
}

.pageelement-news-socialmedia .reference-date {
    font-size: 0.875rem;
}

@media only screen and (max-width: 64rem) {
    .pageelement-news-socialmedia h2 {
        font-size: 1.5rem;
    }

    .pageelement-news-socialmedia .links a {
        font-size: 1.25rem;
    }
}

@media only screen and (max-width: 48.75rem) {
    .pageelement-news-socialmedia .news > a:nth-child(n+3) {
        display: none;
    }
}

@media only screen and (max-width: 32.5rem) {
    .pageelement-news-socialmedia .news {
        grid-template-columns: repeat(auto-fill, minmax(100%, 1fr));
    }
}

/*** pageelement person-double
******************************************************************/

.pageelement-person-double {

}

.pageelement-person-double .headline {
    margin-bottom: 1.25rem;
}

.pageelement-person-double .wrapper {
    display: flex;
    gap: 3.125rem;
}

.pageelement-person-double .person-container {
    background: #fff;
    width: calc(50% - 1.5625rem);
    display: flex;
    border: #ff8c00 solid 0.125rem;
    border-radius: 0.625rem;
    box-sizing: border-box;
    overflow: hidden;
}

.pageelement-person-double .person-container .image {
    width: 13.625rem;
    min-width: 13.625rem;
}

.pageelement-person-double .person-container .image img {
    width: 100%;
    height: 100%;
    border-radius: 0 0.625rem 0.625rem 0;
    object-fit: cover;
}

.pageelement-person-double .person-container .content {
    padding: 2.375rem 2.0625rem;
    width: calc(100% - 13.625rem);
    box-sizing: border-box;
}

.pageelement-person-double .person-container .content .name {
    font-size: 1.5rem;
    font-family: 'Open Sans Bold';
    margin-bottom: 0.625rem;
}

.pageelement-person-double .person-container .content .function {
    font-size: 1.125rem;
    margin-bottom: 0.9375rem;
}

.pageelement-person-double .person-container .content .text {
    margin-bottom: 0.625rem;
}

.pageelement-person-double .person-container .contact-wrapper {
    display: flex;
    flex-flow: column;
    font-size: 1.125rem;
}

.pageelement-person-double .person-container .content a {
    line-height: 1.75rem;
    width: fit-content;
}

.pageelement-person-double .person-container .content a.email .full {
    display: none;
}

.pageelement-person-double .person-container .content a:focus-visible {
    outline: var(--outline-default);
    outline-offset: var(--outline-offset-default);
}

.pageelement-person-double .person-container .street::before {
    font-family: 'Font Awesome 6 Pro';
    content: '\f3c5';
    margin-right: 0.6875rem;
}

.pageelement-person-double .person-container .postcode::before {
    content: '';
    margin-right: 1.4375rem;
}

.pageelement-person-double .person-container .content a .icon:before {
    font-family: 'Font Awesome 6 Pro';
    margin-right: 0.375rem;
}

.pageelement-person-double .person-container .content a.telephone .icon:before {
    content: '\f095';
}

.pageelement-person-double .person-container .content a.email .icon:before {
    content: '\f0e0';
}

.pageelement-person-double .person-container .content a.telefax .icon:before {
    content: '\f1ac';
}

.pageelement-person-double .person-container .content a span:not(.icon) {
    text-decoration: underline;
}

.pageelement-person-double .person-container .content a:hover span:not(.icon) {
    text-decoration-thickness: 0.125rem;
}

@media only screen and (max-width: 87.5rem) {
    .pageelement-person-double .wrapper {
        gap: 3.4375rem;
        flex-wrap: wrap;
    }

    .pageelement-person-double .person-container {
        width: 100%;
    }
}

@media only screen and (max-width: 40.625rem) {
    .pageelement-person-double .person-container {
        flex-flow: column;
    }

    .pageelement-person-double .person-container .content {
        width: 100%;
    }

    .pageelement-person-double .person-container .image {
        align-self: center;
        padding-top: 1.25rem;
    }

    .pageelement-person-double .person-container .image img {
        border-radius: 0.625rem;
    }

}

@media only screen and (max-width: 32.5rem) {
    .pageelement-person-double .person-container .content a.email .abbreviation {
        display: inline;
    }

    .pageelement-person-double .person-container .content a.email .full {
        display: none;
    }
}

/*** pageelement room
******************************************************************/
.pageelement-room .container {
    background: #fff;
    border-radius: 0.625rem;
    width: 100%;
    display: flex;
    flex-flow: row;
    gap: 1.5625rem;
    padding: 2.1875rem;
    box-sizing: border-box;
    height: 100%;
    overflow: hidden;
}

.pageelement-room .image {
    width: 25rem;
    min-width: 25rem;
}

.pageelement-room .container .image img {
    border-radius: 0.625rem;
}

.pageelement-room .container .content .headline {
    font-size: 1.375rem;
    max-width: 62.5rem;
    margin-bottom: 1.125rem;
    font-family: 'Open Sans Bold';
    color: #2b2b2b !important;
}

.pageelement-room .container .content .text {
    font-size: 1.125rem;
    max-width: 62.5rem;
    margin-bottom: 1.125rem;
}

.pageelement-room .container .content .text h3 {
    font-size: 1.375rem;
    font-weight: 700;
    font-family: 'Open Sans Bold', sans-serif;
}

.pageelement-room .container .content .room-info {
    display: flex;
    gap: 1.875rem;
    margin-bottom: 1.125rem;
    flex-wrap: wrap;
}

.pageelement-room .container .content .seats-info {
    margin-bottom: 1.125rem;
}

.pageelement-room .container .content .seats-info .seats {
    display: flex;
    gap: 1.875rem;
    flex-wrap: wrap;
}

.pageelement-room .container .content .seats-info .seats .info {
    display: flex;
    gap: 0.5rem;
    align-items: center;
}

.pageelement-room .container .content .seats-info .icon {
    height: 1.25rem;
}

.pageelement-room .container .content .seats-info .theatre .icon:before {
    content: '';
    background: url('/_images/seats_theatre.svg') no-repeat;
    background-size: auto;
    width: 1.25rem;
    display: inline-block;
    background-size: 1.25rem 1.25rem;
    height: 1.25rem;
    box-sizing: border-box;
}

.pageelement-room .container .content .seats-info .parliament .icon:before {
    content: '';
    background: url('/_images/seats_parliament.svg') no-repeat;
    background-size: auto;
    width: 1.875rem;
    display: inline-block;
    background-size: 1.875rem 1.25rem;
    height: 1.25rem;
    box-sizing: border-box;
}

.pageelement-room .container .content .seats-info .u-shape .icon:before {
    content: '';
    background: url('/_images/seats_u-shape.svg') no-repeat;
    background-size: auto;
    width: 1.25rem;
    display: inline-block;
    background-size: 1.25rem 1.25rem;
    height: 1.25rem;
    box-sizing: border-box;
}

.pageelement-room .container .content .request {
    font-size: 1.125rem;
    color: #fff;
    margin-right: auto;
    padding: 0.5rem 1.25rem;
    border-radius: 0.3125rem;
    transition: all .25s ease-in-out;
}

.pageelement-room .container .content .request:focus-visible {
    outline: var(--outline-default);
    outline-offset: var(--outline-offset-default);
}

.pageelement-room .container .content .request.blue {
    border: 0.188rem solid #245496;
}

.pageelement-room .container .content .request.light-blue {
    border: 0.188rem solid #449CDB;
    color: #000;
}

.pageelement-room .container .content .request.orange {
    border: 0.188rem solid #FF8B00;
    color: #000;
}

.pageelement-room .container .content .request.violet {
    border: 0.188rem solid #9B0687;
}

.pageelement-room .container .content .request.green {
    border: 0.188rem solid #B3CE36;
    color: #000;
}

.pageelement-room .container .content .request.yellow {
    border: 0.188rem solid #E8C425;
    color: #000;
}

.pageelement-room .container .content .request.emerald {
    border: 0.188rem solid #175C6E;
}

.pageelement-room .container .content .request.teal {
    border: 0.188rem solid #49AFB1;
    color: #000;
}

.pageelement-room .container .content .request:hover {
    background: #fff;
    color: #000;
}

@media only screen and (max-width: 64rem) {
    .pageelement-room .image {
        width: 21.875rem;
        min-width: 21.875rem;
    }
}

@media only screen and (max-width: 50rem) {
    .pageelement-room .container {
        flex-flow: column;
    }

    .pageelement-room .image {
        width: 100%;
        min-width: unset;
    }
}

@media only screen and (max-width: 32.5rem) {
    .pageelement-room .container .content .seats-info .seats,
    .pageelement-room .container .content .room-info {
        gap: 0.625rem;
        flex-flow: column;
    }
}


/*** pageelement job-maplist
******************************************************************/

.pageelement-job-maplist {

}

.pageelement-job-maplist .content-container {

}

.pageelement-job-maplist .text {
    display: grid;
    grid-template: repeat(3, auto) / repeat(2, 1fr);
    gap: 1.25rem 2.5rem;
}

.pageelement-job-maplist .search {
    max-width: 100%;
    width: 100%;
    border: 0.0625rem solid #9a9a9a;
    display: flex;
    align-items: center;
    grid-column: 1 / 3;
    padding: 0.625rem 1.5625rem;
    gap: 1.5625rem;
    border-radius: 0.625rem;
    box-sizing: border-box;
    background: #fff;
}

.pageelement-job-maplist .search i {
    font-size: 1.5625rem;
    color: #4c4c4c;
}

.pageelement-job-maplist input {
    color: #000;
    border: none;
    font-size: 1.25rem;
    width: 0;
    flex: 1;
}

.pageelement-job-maplist label {
    font-size: 1.25rem;
    margin-bottom: .3rem;
    display: block;
    font-family: 'Open Sans Bold', sans-serif;
}

.pageelement-job-maplist .search-wrapper {
    grid-column: 1/3;
}

.pageelement-job-maplist .select-wrapper {
    grid-column: 1/3;
}

.pageelement-job-maplist select {
    padding: 0.625rem 1.5625rem;
    color: #000;
    border: 0.0625rem solid #9a9a9a;
    font-size: 1.25rem;
    appearance: none;

    background: url('/_images/select.svg') #fff;
    background-size: 1.25rem;
    background-position: center right 1.5625rem;
    background-repeat: no-repeat;

    max-width: 100%;
    width: 100%;
    display: flex;
    align-items: center;

    gap: 1.5625rem;
    border-radius: 0.625rem;
    box-sizing: border-box;
}

.pageelement-job-maplist .search:has(input:focus-visible) {
    outline: var(--outline-default);
    outline-offset: var(--outline-offset-default);
}

.pageelement-job-maplist input:focus-visible {
    outline: none;
}

.pageelement-job-maplist select:focus-visible {
    outline: var(--outline-default);
    outline-offset: var(--outline-offset-default);
}

.pageelement-job-maplist .result-container > a:focus-visible {
    outline: var(--outline-default);
}

.pageelement-job-maplist .job {
    max-width: calc(100vw - 4.375rem);
    margin-top: 0.625rem;
    padding: 0.625rem;
    border-top: 0.0625rem solid black;
    display: flex;
    align-items: center;
}

.pageelement-jobapplication-form a:focus-visible {
    outline: var(--outline-default);
    outline-offset: var(--outline-offset-default);
}

.pageelement-jobapplication-form .button-box {
    display: block;
    background: #fff;
    margin: 1.5625rem 0;
    padding: 0.625rem 2.5rem;
    border: 0.125rem solid #ff8c00;
    border-radius: 0.625rem;
    font-size: initial;
    font-weight: 700;
    font-family: 'Open Sans', sans-serif;
    width: fit-content;
    transition: all .25s linear;
    outline: #ff8c00 solid 0;
    outline-offset: 0;
}

.pageelement-jobapplication-form .button-box:hover {
    outline: #ff8c00 solid .3rem;
    outline-offset: -0.3rem;
}

.pageelement-jobapplication-form .job {
    max-width: calc(100vw - 4.375rem);
    padding: 0.625rem;
    background: #fff;
    flex-flow: column;
    display: block;
    margin-top: 0;
    margin-bottom: 1.25rem;
    border-radius: 0.625rem;
    border: #ff8c00 0.0625rem solid;
}

.pageelement-job-maplist .job .organisation {
    display: flex;
    gap: 0.625rem;
}

.pageelement-job-maplist .job .organisation .icon:before {
    color: #1F1F1F;
    font-family: 'Font Awesome 6 Pro';
    content: '\f3c5';
}

.pageelement-job-maplist .job p,
.pageelement-jobapplication-form .job p,
.pageelement-job-maplist .job h2 {
    padding-top: 0.625rem;
}

.pageelement-job-maplist .job h2 {
    margin-bottom: 0;
}

.pageelement-job-maplist .job .title,
.pageelement-jobapplication-form .job .title {
    font-size: 1.25rem;
    line-height: initial;
    font-weight: 700;
    font-family: 'Open Sans Bold';
}

.pageelement-job-maplist .job > div {
    flex: 1;
}

.pageelement-job-maplist .job > .icon {
    color: #000;
    font-size: 1.875rem;
    margin: 0.3125rem 0.625rem;
}

.pageelement-job-maplist #map {
    margin-top: 0.625rem;
    max-height: 46.875rem;
    border-radius: 0.625rem;
    overflow: hidden;
}

.pageelement-job-maplist #map.leaflet-container:focus-visible:after {
    content: '';
    position: absolute;
    inset: 0;
    border: 3px solid #000;
    pointer-events: none;
    z-index: 10000;
    box-sizing: border-box;
    border-radius: 0.625rem;
}

#map .leaflet-control-zoom span {
    line-height: inherit;
}

#map a {
    font-size: inherit;
    font-weight: initial;
}

@media (max-width: 64rem) {
    .pageelement-job-maplist .text {
        grid-template-columns: 1fr;
    }

    .pageelement-job-maplist .search {
        grid-column: 1 / 3;
    }

    .pageelement-job-maplist .text > div {
        grid-column: 1 / 3;
    }
}

/*** pageelement job-detail, jobapplication-form
******************************************************************/
.jobapplication-form.contentbox {
    overflow: unset;
}

.pageelement-job-detail-main {

}

.pageelement-job-detail-main .content-container {

}

.pageelement-job-detail-main .wrapper,
.pageelement-jobapplication-form .wrapper {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 6.25rem;
}

.pageelement-job-detail-main .group-container a:hover,
.pageelement-jobapplication-form .group-container a:hover {
    text-decoration: underline;
}

.pageelement-job-detail-main .text h1,
.pageelement-jobapplication-form .text h1 {
    margin: 0.9375rem auto 1.875rem;
}

.pageelement-job-detail-main .text h2,
.pageelement-job-detail-main .job-content h6 {
    color: #ff8c00;
    margin: 2.1875rem auto 1.25rem;
    font-size: 1.4375rem;
    font-family: 'Open Sans Bold';
}

.pageelement-job-detail-main .text > :first-child,
.pageelement-jobapplication-form .text > :first-child {
    margin-top: initial;
}

.pageelement-job-detail-main .info {
    font-size: 1.125rem;
}

.pageelement-job-detail-main .info a .box-button {
    width: fit-content;
}

.pageelement-job-detail-main .info a .box-button,
.pageelement-jobapplication-form .info a .box-button,
.pageelement-job-detail-main .info-right a button {
    display: block;
    background: #fff;
    margin: 1.5625rem 0;
    padding: 0.625rem 2.5rem;
    border: 0.125rem solid #ff8c00;
    border-radius: 0.625rem;
    font-size: initial;
    font-weight: 700;
    font-family: 'Open Sans';
    transition: all .25s linear;
    outline: #ff8c00 solid 0;
    outline-offset: 0;
}

.pageelement-job-detail-main .info a .box-button:hover {
    outline: #ff8c00 solid .3rem;
    outline-offset: -0.3rem;
}

.pageelement-job-detail-main .info-right a:has(.box-button:not(.box-large)) {
    display: none;
}

.pageelement-job-detail-main .info-right a .box-button:not(.box-large) {
    display: none;
}

.pageelement-job-detail-main .info a .box-button,
.pageelement-job-detail-main .info a .box-button *,
.pageelement-jobapplication-form .info a .box-button,
.pageelement-jobapplication-form .info a .box-button *,
.pageelement-job-detail-main .info-right a button,
.pageelement-job-detail-main .info-right a button * {
    color: #000;
    pointer-events: initial;
}

.pageelement-job-detail-main a:focus-visible {
    outline: var(--outline-default);
    outline-offset: var(--outline-offset-default);
}

.pageelement-job-detail-main .info a button i,
.pageelement-jobapplication-form .info a .box-button i {
    position: relative;
    right: 1.5625rem;
    transform: scale(1.35);
}

.pageelement-job-detail-main .info a:first-child button {
    margin-top: initial;
}

.pageelement-job-detail-main .info a:last-child button {
    margin-bottom: initial;
}

.pageelement-job-detail-main .info a:hover button,
.pageelement-jobapplication-form .info a:hover button,
.pageelement-job-detail-main .info-right a:hover button {
    cursor: pointer;
}


.pageelement-job-detail-main .info p,
.pageelement-job-detail-main .info ul {
    margin-top: 0.9375rem;
    margin-bottom: 0.9375rem;
}

.pageelement-job-detail-main .info ul {
    padding: 0 1.25rem;
}

/*
.pageelement-job-detail-main .info-right {
    position: sticky;
    top: 1.25rem;
}
*/

.pageelement-jobapplication-form .form-row.dataprotection {
    flex-flow: row;
    gap: 0.5rem;
    align-items: baseline;
}

.pageelement-jobapplication-form .form-row.dataprotection label {
    width: 100%;
}

.pageelement-job-detail-main .group-container .border-top,
.pageelement-job-detail-main .group-container .border-bottom,
.pageelement-jobapplication-form .group-container .border-top,
.pageelement-jobapplication-form .group-container .border-bottom {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    box-sizing: border-box;
    max-height: 1.875rem;
    min-height: 1.4375rem;

}

.pageelement-job-detail-main .group-container .border-top,
.pageelement-jobapplication-form .group-container .border-top {
    transform: rotate(180deg);
}

.pageelement-job-detail-main .group,
.pageelement-jobapplication-form .group {
    border: #ff8c00 solid 0.125rem;
    border-radius: 0.625rem;
    overflow: hidden;
}

.pageelement-job-detail-main .group .box,
.pageelement-jobapplication-form .group .box {
    margin-bottom: 0;
    border-bottom: #ff8c00 solid 0.125rem;
}

.pageelement-job-detail-main .group .box:last-child,
.pageelement-jobapplication-form .group .box:last-child {
    border-bottom: none;
}

.pageelement-job-detail-main .box,
.pageelement-jobapplication-form .box {
    background: #fff;
    margin-bottom: 0.9375rem;
    padding: 1.25rem 1.5625rem;
}

.pageelement-job-detail-main .box .black,
.pageelement-job-detail-main .box .black *,
.pageelement-jobapplication-form .box .black,
.pageelement-jobapplication-form .box .black * {
    color: #000;
}

.pageelement-job-detail-main .box .regular,
.pageelement-job-detail-main .box .regular *,
.pageelement-jobapplication-form .box .regular,
.pageelement-jobapplication-form .box .regular * {
    font-weight: normal;
}

.pageelement-job-detail-main .box .bold,
.pageelement-job-detail-main .box .bold *,
.pageelement-jobapplication-form .box .bold,
.pageelement-jobapplication-form .box .bold * {
    font-weight: 700;
    font-family: 'Open Sans Bold', sans-serif;
}

.pageelement-job-detail-main .box .top,
.pageelement-jobapplication-form .box .top {
    margin-top: 0.625rem;
}

.pageelement-job-detail-main .box .bottom,
.pageelement-jobapplication-form .box .bottom {
    margin-bottom: 0.625rem;
}

.pageelement-job-detail-main .box i,
.pageelement-jobapplication-form .box i {
    margin-right: 0.625rem;
}

.pageelement-job-detail-main .box img,
.pageelement-jobapplication-form .box img {
    width: 12.5rem;
    object-fit: cover;
}

.pageelement-job-detail-main .box-flex,
.pageelement-jobapplication-form .box-flex {
    display: flex;
}

.pageelement-job-detail-main .box-outer,
.pageelement-jobapplication-form .box-outer {
    padding: initial;
}

.pageelement-job-detail-main .box-outer .box-inner,
.pageelement-jobapplication-form .box-outer .box-inner {
    padding: 1.25rem 1.5625rem;
}

.pageelement-job-detail-main .box-orange {
    background: #ff8c00;
    border-radius: 0.625rem;
    display: flex;
    align-items: center;
    border: #ff8c00 0.3rem solid;
    transition: all .25s ease-in-out;
}

.pageelement-job-detail-main .box-orange,
.pageelement-job-detail-main .box-orange * {
    color: #000;
}

.pageelement-job-detail-main .box-orange:hover {
    background: #fff;
}

.pageelement-job-detail-main .box-orange .fa-square-up-right,
.pageelement-job-detail-main .box-orange .fa-chevron-right {
    position: absolute;
    right: 1.5625rem;
    transform: scale(2);
}

.pageelement-job-detail-main .box-large,
.pageelement-jobapplication-form .box-large {
    font-size: 1.375rem;
    font-weight: 700;
    font-family: 'Open Sans Bold';
}

.pageelement-job-detail-main .box-small,
.pageelement-jobapplication-form .box-small {
    padding: 0.625rem 1.25rem;
}

.pageelement-job-detail-main #map,
.pageelement-jobapplication-form #map {
    height: 16.5625rem;
}

.pageelement-job-detail-main #map.leaflet-container:focus-visible:after,
.pageelement-jobapplication-form #map.leaflet-container:focus-visible:after {
    content: '';
    position: absolute;
    inset: 0;
    border: 3px solid #000;
    pointer-events: none;
    z-index: 10000;
    box-sizing: border-box;
    border-radius: 0.625rem;
}

.pageelement-job-detail-main .job-content .entry-header,
.pageelement-job-detail-main .job-content .job-heading,
.pageelement-job-detail-main .job-content #sidebar-outer,
.pageelement-job-detail-main .job-content hr {
    display: none;
}

@media (max-width: 64rem) {
    .pageelement-job-detail-main .wrapper,
    .pageelement-jobapplication-form .wrapper {
        grid-template-columns: initial;
        gap: 1.5625rem !important;
    }

    .pageelement-job-detail-main .info-right a .box-button {
        display: block;
    }

    .pageelement-job-detail-main .info-right a:has(.box-button) {
        display: block;
    }

    .pageelement-job-detail-main .info-right a .box-button {
        display: block;
    }

    .pageelement-job-detail-main .info a:last-child {
        display: none;
    }
}

@media (max-width: 32rem) {
    .pageelement-job-detail-main .box img,
    .pageelement-jobapplication-form .box img {
        width: 100%;
    }

    .pageelement-job-detail-main .box-flex,
    .pageelement-jobapplication-form .box-flex {
        flex-direction: column;
    }
}

/* .pageelement-subplace-list */

.pageelement-subplace-list .list {
    background: #fff;
    border-radius: 0.625rem;
    border: 0.125rem solid #ff8c00;
    overflow: hidden;
}

.pageelement-subplace-list .list .item {
    display: flex;
    border-bottom: 0.125rem solid #ff8c00;
}

.pageelement-subplace-list .list .item:last-child {
    border-bottom: none;
}

.pageelement-subplace-list .list .item .map {
    width: 28.125rem;
    min-width: 28.125rem;
    min-height: 18.75rem;
}

.pageelement-subplace-list .list .item .text-content {
    width: calc(100% - 28.125rem);
    padding: 1.875rem;
    box-sizing: border-box;
}

.pageelement-subplace-list .list .item .text-content .text-content-container {
    display: flex;
}

.pageelement-subplace-list .list .item .text-content .text-content-container .link {
    color: #000;
    font-size: 1.5rem;
    margin-top: auto;
    display: inline-block;
    width: fit-content;
    text-decoration: underline;
}

.pageelement-subplace-list .list .item .text-content .text-content-container .link:hover {
    text-decoration-thickness: 0.125rem;
}

.pageelement-subplace-list .list .item .text-content .text-content-container .link:focus-visible {
    outline: var(--outline-default);
    outline-offset: var(--outline-offset-default);
}

.pageelement-subplace-list .list .item .text-content .text-content-container .link:before {
    content: '\f14c';
    font-family: 'Font Awesome 6 Pro';
    margin-right: 0.5rem;
    font-weight: 200;
}

.pageelement-subplace-list .list .item .text,
.pageelement-subplace-list .list .item .info {
    box-sizing: border-box;
    width: 50%;
    padding: 0.625rem 0.625rem 0.625rem 0;
    display: flex;
    flex-flow: column;
}


.pageelement-subplace-list .list .item .text-content .headline {
    font-size: 1.375rem;
    color: #000;
    font-family: 'Open Sans Bold', sans-serif;
}

.pageelement-subplace-list .list .item .map .karte {
    width: 100%;
    height: 100%;
}

.pageelement-subplace-list .list .item .map .karte .openstreetmap-data,
.pageelement-subplace-list .list .item .map .karte .openstreetmap-data .leaflet-container {
    height: 100%;
}

.pageelement-subplace-list .list .item .map .karte .openstreetmap-data .leaflet-container:focus-visible:after {
    content: '';
    position: absolute;
    inset: 0;
    border: 3px solid #000;
    pointer-events: none;
    z-index: 10000;
    box-sizing: border-box;
    border-radius: 0.625rem;
}

.pageelement-subplace-list .item .icons {
    display: flex;
    gap: 0.5rem;
}

.pageelement-subplace-list .item .icons .educationcenter:before {
    font-family: 'Font Awesome 6 Pro';
    content: '\f19d';
}

.pageelement-subplace-list .item .icons .secondhand:before {
    font-family: 'Font Awesome 6 Pro';
    content: '\f07a';
}

.pageelement-subplace-list .item .icons .lunch:before {
    font-family: 'Font Awesome 6 Pro';
    content: '\f2e7';
}

.pageelement-subplace-list .list .item .info .phone,
.pageelement-subplace-list .list .item .info .mail {
    display: flex;
    gap: 0.5rem;
    width: fit-content;
}

.pageelement-subplace-list .list .item .info .phone:hover,
.pageelement-subplace-list .list .item .info .mail:hover {
    text-decoration: underline;
    text-decoration-thickness: 0.125rem;
}

.pageelement-subplace-list .list .item .info .phone:focus-visible,
.pageelement-subplace-list .list .item .info .mail:focus-visible {
    outline: var(--outline-default);
    outline-offset: 0.1rem;
}

.pageelement-subplace-list .list .item .info .phone:before {
    content: '\f095';
    font-family: 'Font Awesome 6 Pro';
}

.pageelement-subplace-list .list .item .info .mail:before {
    content: '\f0e0';
    font-family: 'Font Awesome 6 Pro';
}

@media only screen and (max-width: 81.25rem) {
    .pageelement-subplace-list .list .item .text-content .text-content-container {
        flex-flow: column;
    }

    .pageelement-subplace-list .list .item .text,
    .pageelement-subplace-list .list .item .info {
        width: 100%;
    }
}

@media only screen and (max-width: 64rem) {
    .pageelement-subplace-list .list .item {
        flex-flow: column;
    }

    .pageelement-subplace-list .list .item .map {
        width: 100%;
        height: 18.75rem;
    }

    .pageelement-subplace-list .list .item .text-content {
        width: 100%;
    }

    .pageelement-subplace-list .list .item .map {
        min-width: unset;
    }
}

@media only screen and (max-width: 42.5rem) {
    .pageelement-subplace-list .list .item .text-content {
        padding: 1.25rem;
    }
}


/*****************************************************************
**** suche main
******************************************************************/


.search-main input {
    margin-top: 0.625rem;
    height: 2.1875rem;
    width: 31.25rem;
    max-width: 100%;
    font-size: 1.125rem;
    padding: 0.3125rem 0.625rem;
    box-sizing: border-box;
}

.search-main input:focus-visible {
    outline: var(--outline-default);
    outline-offset: var(--outline-offset);
}

/*****************************************************************
**** old-generation
******************************************************************/

#content-canvas.old_generation .coursesystem-list #courses-list-container .courselist-item .info .title,
#content-canvas.old_generation,
#content-canvas.old_generation,
#content-canvas.old_generation,
#content-canvas.old_generation {
    font-size: 1.625rem;
}

#content-canvas.old_generation .coursesystem-list .filter .filter-select-wrapper select,
#content-canvas.old_generation .coursesystem-list #courses-list-container .courselist-item .info,
#content-canvas.old_generation .coursesystem-list .ajax-list-load-more,
#content-canvas.old_generation .coursesystem-detail .overview .text,
#content-canvas.old_generation .coursesystem-detail .overview .text h3,
#content-canvas.old_generation .coursesystem-detail .overview .info,
#content-canvas.old_generation .coursesystem-detail .overview .info .headline,
#content-canvas.old_generation .coursesystem-booking,
#content-canvas.old_generation .coursesystem-booking .smalltext,
#content-canvas.old_generation .coursesystem-booking .datenschutz-text,
#content-canvas.old_generation .coursesystem-booking .form-row input.textbox,
#content-canvas.old_generation .coursesystem-booking .form-row .selectbox,
#content-canvas.old_generation .coursesystem-booking .form-row textarea,
#content-canvas.old_generation .coursesystem-booking .course-detail .booking-canvas .button-submit,
#content-canvas.old_generation .coursesystem-inforequest,
#content-canvas.old_generation .coursesystem-inforequest .smalltext,
#content-canvas.old_generation .coursesystem-inforequest .datenschutz-text,
#content-canvas.old_generation .coursesystem-inforequest .form-row input.textbox,
#content-canvas.old_generation .coursesystem-inforequest .form-row .selectbox,
#content-canvas.old_generation .coursesystem-inforequest .form-row textarea,
#content-canvas.old_generation .coursesystem-inforequest .course-detail .booking-canvas .button-submit {
    font-size: 1.375rem;
}

#content-canvas.old_generation .course-detail .termin-list {
    line-height: 1.625rem;
}


/* ********** search-main ********** */
.search-main {
    width: 100%
}

.search-main .searchresult-header {
    margin-bottom: 1.875rem;
    font-size: 1.125rem;
}

.search-main .searchresult-header .keyword {
    font-weight: 700
}

.search-main .searchresult-group {
    margin-bottom: 1.875rem;
    width: 100%
}

.search-main .searchresult-group .searchresult-header:before {
    font-family: 'Font Awesome 6 Pro', sans-serif;
    font-weight: 900;
    content: '\f107';
    display: inline-block;
    margin-right: 0.625rem;
    font-size: 1.375rem;
    -webkit-transition: ease-in-out .3s;
    -o-transition: ease-in-out .3s;
    transition: ease-in-out .3s;
}

.search-main .searchresult-group .searchresult-header.active:before {
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg);
}

.search-main .searchresult-group .searchresult-header {
    font-size: 1.3125rem;
    color: #000;
    display: block;
    border-bottom: 0.0625rem solid #1e4230;
    margin-bottom: 0.9375rem;
    padding: 0 0 0.625rem 1.0625rem;
    cursor: pointer;
}

.search-main .searchresult-group .searchresult-header.active {
    background-position: left -2.9375rem
}

.search-main .searchresult-list {
    display: none
}

.search-main .searchresult-list ul {
    display: inline
}

.search-main .searchresult-item {
    margin-bottom: 0.625rem;
    padding-bottom: 0.625rem;
    border-bottom: 0.0625rem dotted #706F6F;
    display: block;
    width: 100%;
    float: none;
}

.search-main .searchresult-item h3 {
    margin-bottom: .5rem;
}

.search-main .searchresult-link {
    font-size: 1.25rem;
    cursor: pointer;
    font-weight: bold;
    color: #000;

}

.search-main .searchresult-item .fontsize-small {
    font-size: 1rem;
}

.search-main .searchresult-item .keyword {
    font-weight: 700
}

.search-main .searchresult-item .date {
    font-size: 1rem;
    line-height: 1.5rem;
    margin-bottom: 0.3125rem
}

.search-main .searchresult-group .header::before {
    font-family: 'Font Awesome 6 Pro', sans-serif;
    color: #ff8c00;
}

.pageelement-search-main form {
    position: relative;
}

.pageelement-search-main .search-input {
    width: 31.25rem;
    height: 2.1875rem;
    margin-top: 1.125rem;
    font-size: 1.375rem;
    padding: 0.3125rem 0.625rem;
    box-sizing: border-box;
    max-width: 100%;
}


/* Farben / Colors */

.border-colored.blue {
    border: 0.125rem solid #245496;
}

.text-colored.blue {
    color: #245496;
}

.background-colored.blue {
    background: #245496;
}

.info-accordion .accordion.text-colored.blue .text a {
    color: #245496;
}

.teaserbox-wide .teaserbox.text-colored.blue .text a {
    color: #245496;
}

.border-colored.light-blue {
    border: #449CDB 0.125rem solid;
}

.text-colored.light-blue {
    color: #449CDB;
}

.background-colored.light-blue {
    background: #449CDB;
}

.info-accordion .accordion.text-colored.light-blue .text a {
    color: #449CDB;
}

.teaserbox-wide .teaserbox.text-colored.light-blue .text a {
    color: #449CDB;
}

.border-colored.orange {
    border: #FF8B00 0.125rem solid;
}

.text-colored.orange {
    color: #FF8B00;
}

.background-colored.orange {
    background: #FF8B00;
    color: #000;
}

.info-accordion .accordion.text-colored.orange .text a {
    color: #FF8B00;
}

.teaserbox-wide .teaserbox.text-colored.orange .text a {
    color: #FF8B00;
}

.border-colored.violet {
    border: #9B0687 0.125rem solid;
}

.text-colored.violet {
    color: #9B0687;
}

.background-colored.violet {
    background: #9B0687;
}

.info-accordion .accordion.text-colored.violet .text a {
    color: #9B0687;
}

.teaserbox-wide .teaserbox.text-colored.violet .text a {
    color: #9B0687;
}

.border-colored.green {
    border: #B3CE36 0.125rem solid;
}

.text-colored.green {
    color: #B3CE36;
}

.background-colored.green {
    background: #B3CE36;
}

.info-accordion .accordion.text-colored.green .text a {
    color: #B3CE36;
}

.teaserbox-wide .teaserbox.text-colored.green .text a {
    color: #B3CE36;
}

.border-colored.yellow {
    border: #E8C425 0.125rem solid;
}

.text-colored.yellow {
    color: #E8C425;
}

.background-colored.yellow {
    background: #E8C425;
}

.info-accordion .accordion.text-colored.yellow .text a {
    color: #E8C425;
}

.teaserbox-wide .teaserbox.text-colored.yellow .text a {
    color: #E8C425;
}

.border-colored.emerald {
    border: #175C6E 0.125rem solid;
}

.text-colored.emerald {
    color: #175C6E;
}

.background-colored.emerald {
    background: #175C6E;
}

.info-accordion .accordion.text-colored.emerald .text a {
    color: #175C6E;
}

.teaserbox-wide .teaserbox.text-colored.emerald .text a {
    color: #175C6E;
}

.border-colored.teal {
    border: #49AFB1 0.125rem solid;
}

.text-colored.teal {
    color: #49AFB1;
}

.background-colored.teal {
    background: #49AFB1;
}

.info-accordion .accordion.text-colored.teal .text a {
    color: #49AFB1;
}

.teaserbox-wide .teaserbox.text-colored.teal .text a {
    color: #49AFB1;
}
