
/*
StickyAssistant.html
 */

.sticky-assistant {
    position: fixed;
    bottom: 72px;
    right: 20px;
    right: 0.5rem;
    z-index: 1010;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.75rem;
}
.contact-toggle {
    position: relative;
    width: 5rem;
    height: 5rem;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
    overflow: hidden;
    transition: background-color 0.25s ease;
}
.contact-toggle.is-open {
    background-color: var(--Johanneswerk-ROT, #9C1D28);
}
.contact-toggle__img {
    max-height: 100%;
    max-width: 100%;
}
.contact-toggle.is-open .contact-toggle__img,
.contact-toggle.is-open img {
    opacity: 0;
    visibility: hidden;
}
.contact-toggle::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1.5rem;
    height: 2px;
    background-color: #fff;
    transform: translate(-50%, -50%) rotate(45deg);
    opacity: 0;
    transition: opacity 0.25s ease;
}
.contact-toggle::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1.5rem;
    height: 2px;
    background-color: #fff;
    transform: translate(-50%, -50%) rotate(-45deg);
    opacity: 0;
    transition: opacity 0.25s ease;
}
.contact-toggle.is-open::before,
.contact-toggle.is-open::after {
    opacity: 1;
    z-index: 1;
}
.contact-toggle__img-one {
    display: block;


    object-fit: cover;
}

.contact-people-one {
    position: absolute;
    bottom: 0;
    right: 6rem;
    transform-origin: bottom right;

    list-style: none;
    margin: 0;
    padding: 0;

    width: min(20rem, calc(100vw - 5rem));
    max-height: calc(100vh - 150px);
    overflow: auto;
}

.contact-people-mobile {
    display: none !important;
}

.contact-card-one {
    overflow: hidden;
    border-radius: 0 1.25rem 0 1.25rem;
    background: var(--johanneswerk-rot, #9C1D28);
    border: 1.5px solid #C97179;


    padding: 21px;

    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
}

.contact-card__media-one {
    position: relative;
    aspect-ratio: 1 / 1;
    border-radius: 999px;
    background: #e9e9e9;

    width: auto;
    height: 84px;
    overflow: hidden;
}

.contact-card__img-one {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.contact-card__content-one {
    background: var(--Johanneswerk-ROT, #9C1D28);
    color: #fff;
    padding-top: 1.1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75em;

    font-family: "Nunito Sans", sans-serif;
    font-size: 0.95rem;
    font-weight: 400;
    line-height: 1.5;
}

.contact-card__button-one {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.95rem;
    background: #FFF;
    color: var(--Johanneswerk-ROT, #9C1D28);
    border: 1px solid transparent; 
    border-radius: 999px;
    padding: 0.75rem 1rem;
    text-decoration: none;
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1;
    transition: background-color 0.2s ease, opacity 0.2s ease;
    align-self: stretch;
    box-sizing: border-box;
}

/* Different styles for mobile */
@media (max-width: 768px){

    .contact-card__button-one {

        border: 2px solid #ffffff;
        color: #ffffff;


    }

    .contact-card__button-one:hover,
    .contact-card__button-one:focus,
    .contact-card__button-one:active {
        background-color: rgba(255, 255, 255, 0.1);
        color: #ffffff;
        text-decoration: none;
    }
}

.contact-card__button-one:hover,
.contact-card__button-one:focus,
.contact-card__button-one:active {
    border: 1px solid #C97179;
    text-decoration: none;
}

.contact-card__button-one:hover svg,
.contact-card__button-one:focus svg,
.contact-card__button-one:active svg{
    transform: translateY(4px);
    transition: all 300ms ease-in-out;

}

.contact-card__arrow-one {
    width: 1.1rem;
    height: 1.1rem;
    transition: all 300ms ease-in-out;
}

.contact-card__name-one {
    margin: 0;
    color: #fff;
    font-family: "Nunito Sans", sans-serif;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.3;
}

.contact-card__text-one {
    color: #fff;
    font-weight: 700;
    padding-top: 6px;
}

.contact-card__text-one > *:first-child {
    margin-top: 0;
}

.contact-card__text-one > *:last-child {
    margin-bottom: 0;
}

.contact-card__links-one {
    display: grid;
    gap: 0.65rem;
    margin-top: 0.25rem;
}

.contact-card__link-one {
    margin: 0;
    text-align: center;
    justify-content: center;
    display: flex;
    align-items: center;
}

.contact-card__a-one {
    color: inherit;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    font-size: 1rem;
    line-height: 1.4;
    word-break: break-word;
}

.contact-card__a-one:hover,
.contact-card__a-one:focus {
    text-decoration: underline;
}

.contact-card__links-one .contact-card__link-one::before {
    content: "";
    background-color: #ffffff;
    display: inline-block;
    width: 1.15rem;
    height: 1.15rem;
    flex-shrink: 0;
    margin-right: 0.6rem;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}

.contact-card__links-one .contact-card__link-one:has(a[href^="tel:"])::before {
  -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTguNjI1MDIgMTIuMzg1TDkuMDY0NzggMTEuNzc3NUM5LjMzODQ1IDExLjM5OTIgOS43OTYxNCAxMS4yNDA5IDEwLjI0NiAxMS4zNjczTDEyLjc5MzMgMTIuMDg0N0MxMy4yOTg2IDEyLjIyNzUgMTMuNjI2IDEyLjY5NDYgMTMuNTg2MyAxMy4yMTg3QzEzLjU1NTEgMTMuNjQ0NSAxMy41ODM5IDE0LjA3NDIgMTMuMzAxNyAxNC40MjUxQzEyLjM3NTQgMTUuNTY4NCAxMS40MDU0IDE2LjMzODEgOS4zMzQ1NSAxNS44NjAxQzQuOTc1MjMgMTQuMDI4OSAxLjk3NTcyIDExLjAyOCAwLjE0NDE5MyA2LjY2Nzc2Qy0wLjMzMzc2NSA0LjU5NTY1IDAuNDM1ODAyIDMuNjI2MjcgMS41Nzk2MyAyLjY5OTc5QzEuOTI5NzEgMi40MTc0OCAyLjM1OTMzIDIuNDQ2MzMgMi43ODUwNSAyLjQxNTE0QzMuMzA5MDEgMi4zNzY5MiAzLjc3NTI3IDIuNzAzNjkgMy45MTg3NCAzLjIwOTA0TDQuNjM2ODQgNS43NTYxQzQuNzYzMTUgNi4yMDYwOCA0LjYwNDA5IDYuNjYzODYgNC4yMjU5NCA2LjkzNzZMMy42MTg1NSA3LjM3NjY2QzMuNTAzMTUgNy40NjA4OSAzLjQ3MTE5IDcuNjE3NjQgMy41NDM3IDcuNzM5M0M0LjU0OTUyIDkuNDI3NzIgNi41NzUxOCAxMS40NTM4IDguMjYzMjQgMTIuNDU5MUM4LjM4NTY1IDEyLjUzMTYgOC41NDIzOCAxMi41MDA0IDguNjI1OCAxMi4zODUiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik0xNS4yNDEzIDguMzcwMThDMTUuMjU1MyA4LjU3OTE4IDE1LjQzNjIgOC43MzgyOCAxNS42NDYgOC43MjQyNEMxNS44NTU3IDguNzEwMiAxNi4wMTQgOC41MjkyNyAxNiA4LjMxOTQ5QzE1Ljg1NjUgNi4xNjA4MSAxNC44NTU0IDQuMTUxODcgMTMuMzUyOSAyLjY0OTA2QzExLjg0OTYgMS4xNDU0NyA5Ljg0MTA5IDAuMTQ0MTE4IDcuNjgyODcgMC4wMDA2MjE3MDdDNy40NzM5MSAtMC4wMTM0MTU5IDcuMjkyMjQgMC4xNDQ4OTggNy4yNzgyMSAwLjM1NDY4MkM3LjI2NDE3IDAuNTYzNjg3IDcuNDIzMjMgMC43NDUzOTcgNy42MzIxOSAwLjc1OTQzNUM5LjU5NzgyIDAuODkwNDUzIDExLjQzNCAxLjgwOTE0IDEyLjgxMzMgMy4xODg3M0MxNC4xOTE4IDQuNTY3NTQgMTUuMTExMSA2LjQwNDEzIDE1LjI0MTMgOC4zNzAxOFoiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik0xMi45MDc4IDguMjE1MTFDMTIuOTIxOCA4LjQyNDExIDEzLjEwMjcgOC41ODMyMSAxMy4zMTI1IDguNTY5MTdDMTMuNTIyMiA4LjU1NTEzIDEzLjY4MDUgOC4zNzQyIDEzLjY2NjUgOC4xNjQ0MkMxMy41NjU5IDYuNjQ5OTEgMTIuODY0OSA1LjI0MTQ3IDExLjgxMTUgNC4xODk0MkMxMC43NTk3IDMuMTM2NiA5LjM1MDggMi40MzU1IDcuODM4MTggMi4zMzQxMUM3LjYyODQ0IDIuMzIwMDggNy40NDY3NyAyLjQ3OTE3IDcuNDMzNTEgMi42ODgxN0M3LjQyMDI2IDIuODk3MTggNy41Nzg1NCAzLjA3ODg5IDcuNzg3NSAzLjA5MjkzQzkuMTA5MSAzLjE4MTA1IDEwLjM0MzQgMy43OTk0OSAxMS4yNzI4IDQuNzI5MDlDMTIuMjAyMiA1LjY1ODcgMTIuODIwNSA2Ljg5MzIzIDEyLjkwODYgOC4yMTUxMSIgZmlsbD0id2hpdGUiLz4KPHBhdGggZD0iTTEwLjU3NSA4LjA1OTc1QzEwLjU4OSA4LjI2ODc1IDEwLjc2OTkgOC40Mjc4NSAxMC45Nzk2IDguNDEzODFDMTEuMTg5NCA4LjM5OTc3IDExLjM0NzcgOC4yMTg4NCAxMS4zMzM2IDguMDA5MDZDMTEuMjc1OSA3LjEzOTUgMTAuODc0NCA2LjMzMTU2IDEwLjI3MjQgNS43Mjk1QzkuNjY5NzMgNS4xMjc0NCA4Ljg2MzUyIDQuNzI1ODEgNy45OTQxNSA0LjY2ODFDNy43ODQ0MSA0LjY1NDA2IDcuNjAyNzQgNC44MTMxNSA3LjU4OTQ4IDUuMDIyMTZDNy41NzU0NSA1LjIzMTk0IDcuNzM0NTEgNS40MTI4NyA3Ljk0MzQ3IDUuNDI2OTFDOC42MjEwMyA1LjQ3MjE0IDkuMjU0OTMgNS43OTExMSA5LjczMzY3IDYuMjY5MTdDMTAuMjEyNCA2Ljc0ODc5IDEwLjUzMTMgNy4zODI4MiAxMC41NzU3IDguMDU5NzUiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=");
  mask-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTguNjI1MDIgMTIuMzg1TDkuMDY0NzggMTEuNzc3NUM5LjMzODQ1IDExLjM5OTIgOS43OTYxNCAxMS4yNDA5IDEwLjI0NiAxMS4zNjczTDEyLjc5MzMgMTIuMDg0N0MxMy4yOTg2IDEyLjIyNzUgMTMuNjI2IDEyLjY5NDYgMTMuNTg2MyAxMy4yMTg3QzEzLjU1NTEgMTMuNjQ0NSAxMy41ODM5IDE0LjA3NDIgMTMuMzAxNyAxNC40MjUxQzEyLjM3NTQgMTUuNTY4NCAxMS40MDU0IDE2LjMzODEgOS4zMzQ1NSAxNS44NjAxQzQuOTc1MjMgMTQuMDI4OSAxLjk3NTcyIDExLjAyOCAwLjE0NDE5MyA2LjY2Nzc2Qy0wLjMzMzc2NSA0LjU5NTY1IDAuNDM1ODAyIDMuNjI2MjcgMS41Nzk2MyAyLjY5OTc5QzEuOTI5NzEgMi40MTc0OCAyLjM1OTMzIDIuNDQ2MzMgMi43ODUwNSAyLjQxNTE0QzMuMzA5MDEgMi4zNzY5MiAzLjc3NTI3IDIuNzAzNjkgMy45MTg3NCAzLjIwOTA0TDQuNjM2ODQgNS43NTYxQzQuNzYzMTUgNi4yMDYwOCA0LjYwNDA5IDYuNjYzODYgNC4yMjU5NCA2LjkzNzZMMy42MTg1NSA3LjM3NjY2QzMuNTAzMTUgNy40NjA4OSAzLjQ3MTE5IDcuNjE3NjQgMy41NDM3IDcuNzM5M0M0LjU0OTUyIDkuNDI3NzIgNi41NzUxOCAxMS40NTM4IDguMjYzMjQgMTIuNDU5MUM4LjM4NTY1IDEyLjUzMTYgOC41NDIzOCAxMi41MDA0IDguNjI1OCAxMi4zODUiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik0xNS4yNDEzIDguMzcwMThDMTUuMjU1MyA4LjU3OTE4IDE1LjQzNjIgOC43MzgyOCAxNS42NDYgOC43MjQyNEMxNS44NTU3IDguNzEwMiAxNi4wMTQgOC41MjkyNyAxNiA4LjMxOTQ5QzE1Ljg1NjUgNi4xNjA4MSAxNC44NTU0IDQuMTUxODcgMTMuMzUyOSAyLjY0OTA2QzExLjg0OTYgMS4xNDU0NyA5Ljg0MTA5IDAuMTQ0MTE4IDcuNjgyODcgMC4wMDA2MjE3MDdDNy40NzM5MSAtMC4wMTM0MTU5IDcuMjkyMjQgMC4xNDQ4OTggNy4yNzgyMSAwLjM1NDY4MkM3LjI2NDE3IDAuNTYzNjg3IDcuNDIzMjMgMC43NDUzOTcgNy42MzIxOSAwLjc1OTQzNUM5LjU5NzgyIDAuODkwNDUzIDExLjQzNCAxLjgwOTE0IDEyLjgxMzMgMy4xODg3M0MxNC4xOTE4IDQuNTY3NTQgMTUuMTExMSA2LjQwNDEzIDE1LjI0MTMgOC4zNzAxOFoiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik0xMi45MDc4IDguMjE1MTFDMTIuOTIxOCA4LjQyNDExIDEzLjEwMjcgOC41ODMyMSAxMy4zMTI1IDguNTY5MTdDMTMuNTIyMiA4LjU1NTEzIDEzLjY4MDUgOC4zNzQyIDEzLjY2NjUgOC4xNjQ0MkMxMy41NjU5IDYuNjQ5OTEgMTIuODY0OSA1LjI0MTQ3IDExLjgxMTUgNC4xODk0MkMxMC43NTk3IDMuMTM2NiA5LjM1MDggMi40MzU1IDcuODM4MTggMi4zMzQxMUM3LjYyODQ0IDIuMzIwMDggNy40NDY3NyAyLjQ3OTE3IDcuNDMzNTEgMi42ODgxN0M3LjQyMDI2IDIuODk3MTggNy41Nzg1NCAzLjA3ODg5IDcuNzg3NSAzLjA5MjkzQzkuMTA5MSAzLjE4MTA1IDEwLjM0MzQgMy43OTk0OSAxMS4yNzI4IDQuNzI5MDlDMTIuMjAyMiA1LjY1ODcgMTIuODIwNSA2Ljg5MzIzIDEyLjkwODYgOC4yMTUxMSIgZmlsbD0id2hpdGUiLz4KPHBhdGggZD0iTTEwLjU3NSA4LjA1OTc1QzEwLjU4OSA4LjI2ODc1IDEwLjc2OTkgOC40Mjc4NSAxMC45Nzk2IDguNDEzODFDMTEuMTg5NCA4LjM5OTc3IDExLjM0NzcgOC4yMTg4NCAxMS4zMzM2IDguMDA5MDZDMTEuMjc1OSA3LjEzOTUgMTAuODc0NCA2LjMzMTU2IDEwLjI3MjQgNS43Mjk1QzkuNjY5NzMgNS4xMjc0NCA4Ljg2MzUyIDQuNzI1ODEgNy45OTQxNSA0LjY2ODFDNy43ODQ0MSA0LjY1NDA2IDcuNjAyNzQgNC44MTMxNSA3LjU4OTQ4IDUuMDIyMTZDNy41NzU0NSA1LjIzMTk0IDcuNzM0NTEgNS40MTI4NyA3Ljk0MzQ3IDUuNDI2OTFDOC42MjEwMyA1LjQ3MjE0IDkuMjU0OTMgNS43OTExMSA5LjczMzY3IDYuMjY5MTdDMTAuMjEyNCA2Ljc0ODc5IDEwLjUzMTMgNy4zODI4MiAxMC41NzU3IDguMDU5NzUiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=");

  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}

.contact-card__links-one .contact-card__link-one:has(a[href^="mailto:"])::before {
  -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOSIgaGVpZ2h0PSIxMiIgdmlld0JveD0iMCAwIDE5IDEyIiBmaWxsPSJub25lIj4KICA8cGF0aCBkPSJNMTguNjI1IDExLjAzNzFIMFYxLjI0NDE0TDguNzE2OCA3LjcwMjE1TDkuMzEyNSA4LjE0MjU4TDkuOTA3MjMgNy43MDIxNUwxOC42MjUgMS4yNDQxNFYxMS4wMzcxWk05LjMxMTUyIDUuNjUzMzJMMS42ODA2NiAwSDE2Ljk0NDNMOS4zMTE1MiA1LjY1MzMyWiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+");
  mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOSIgaGVpZ2h0PSIxMiIgdmlld0JveD0iMCAwIDE5IDEyIiBmaWxsPSJub25lIj4KICA8cGF0aCBkPSJNMTguNjI1IDExLjAzNzFIMFYxLjI0NDE0TDguNzE2OCA3LjcwMjE1TDkuMzEyNSA4LjE0MjU4TDkuOTA3MjMgNy43MDIxNUwxOC42MjUgMS4yNDQxNFYxMS4wMzcxWk05LjMxMTUyIDUuNjUzMzJMMS42ODA2NiAwSDE2Ljk0NDNMOS4zMTE1MiA1LjY1MzMyWiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+");
  
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}


.contact-card__links-one .contact-card__link-one:has(a[href^="mailto"])::before {
  -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDMwIDE4IiBmaWxsPSJub25lIj4KICA8cGF0aCBkPSJNMzAgMTcuNzc3M0gwVjEuMjQ0MTRMMTQuNDA0MyAxMS45MTVMMTUgMTIuMzU1NUwxNS41OTQ3IDExLjkxNUwzMCAxLjI0NDE0VjE3Ljc3NzNaTTE0Ljk5OSA5Ljg2NjIxTDEuNjgwNjYgMEgyOC4zMTkzTDE0Ljk5OSA5Ljg2NjIxWiIgZmlsbD0iY3VycmVudENvbG9yIi8+Cjwvc3ZnPg==");
  mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDMwIDE4IiBmaWxsPSJub25lIj4KICA8cGF0aCBkPSJNMzAgMTcuNzc3M0gwVjEuMjQ0MTRMMTQuNDA0MyAxMS45MTVMMTUgMTIuMzU1NUwxNS41OTQ3IDExLjkxNUwzMCAxLjI0NDE0VjE3Ljc3NzNaTTE0Ljk5OSA5Ljg2NjIxTDEuNjgwNjYgMEgyOC4zMTkzTDE0Ljk5OSA5Ljg2NjIxWiIgZmlsbD0iY3VycmVudENvbG9yIi8+Cjwvc3ZnPg==");
}

.sticky-assistant__icon-link {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    height: 5rem;
    width: 5rem;
    border-radius: 50%;
    background: #fff;
    overflow: hidden;
    transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1), border-radius 0.3s ease 0.4s, background-color 0.3s ease, box-shadow 0.3s ease;
    text-decoration: none;
}

.sticky-assistant__icon-link img,
.sticky-assistant__icon-link svg {
    height: 5rem !important;
    width: 5rem !important;
    padding: 12px;
    box-sizing: border-box;
    flex-shrink: 0;
    order: 2;
}

.sticky-assistant__text {
    order: 1;
    font-family: "Nunito Sans", sans-serif;
    font-size: var(--font-size-copy-s);
    font-weight: 700;
    color: var(--johanneswerk-rot, #9C1D28);
    white-space: nowrap;
    opacity: 0;
    transition: opacity 0.2s ease;
    padding-left: 1.5rem;
    padding-right: 0.5rem;

    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: none;
    text-decoration-thickness: auto;
    text-underline-offset: auto;
    text-underline-position: from-font;
}

.sticky-assistant__icon-link:hover {
    width: 16rem;
    border-radius: 1.25rem 0 1.25rem 0;
    background-color: #ffffff;
    transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1), border-radius 0.1s ease, background-color 0.3s ease;
}

.sticky-assistant__icon-link:hover .sticky-assistant__text {
    opacity: 1;
    transition: opacity 0.2s ease 0.15s;
}

.sticky-assistant__icon-link--carrier {
    background-color: var(--carrier-green, #39B398);
    border: 2px solid var(--carrier-green-dark, #0F2F37);
}

.sticky-assistant__icon-link--carrier:hover {
    background-color: var(--carrier-green, #39B398);
}

.sticky-assistant__icon-link--carrier .sticky-assistant__text {
    color: var(--carrier-green-dark, #0F2F37);
}

.sticky-assistant__icon-link--donation {
    background-color: var(--almond-beige-darken-text, #9C6B43);
    border: 2px solid #6D401B;
}

.sticky-assistant__icon-link--donation:hover {
    background-color: var(--almond-beige-darken-text, #9C6B43);
    width: 18rem;
}

.sticky-assistant__icon-link--donation .sticky-assistant__text {
    color: #ffffff;
}

.sticky-assistant__icon-link--booking {
    background-color: #9C1D28;
    border: 2px solid #6D0F19;
}

.sticky-assistant__icon-link--booking svg {
    padding: 18px !important;
    margin-right: -0.1rem;
}

.sticky-assistant__icon-link--booking:hover {
    background-color: #9C1D28;
    width: 18rem;
}

.sticky-assistant__icon-link--booking .sticky-assistant__text {
    color: #ffffff;
}

/*care-consulting*/

.sticky-assistant__icon-link--care-consulting {
    background-color: var(--Purple-Fuzz, #D09EBC);
    border: 2px solid #9E4E7E;
}

.sticky-assistant__icon-link--care-consulting svg {
    padding: 18px !important;
    margin-right: -0.1rem;
}

.sticky-assistant__icon-link--care-consulting:hover {
    background-color: var(--Purple-Fuzz, #D09EBC);
    width: 17rem;
}

.sticky-assistant__icon-link--care-consulting .sticky-assistant__text {
   color: #000;
}


.sticky-assistant > div {
    width: 100%;
    display: flex;
    justify-content: flex-end;
}

.sticky-assistant .ico-class {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-height: 2.75rem;
    padding: 0.75rem 1rem;
    border-radius: 999px;
    background: var(--Johanneswerk-ROT, #9C1D28);
    color: #fff;
    text-decoration: none;
    font-family: "Nunito Sans", sans-serif;
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1;
}

.sticky-assistant .ico-class:hover,
.sticky-assistant .ico-class:focus {
    color: #fff;
    text-decoration: none;
    transform: translateY(-1px);
}

.contact-people__grid + div {
    margin-top: 0.75rem;
}

@media (max-width: 768px) {
    .sticky-assistant {
        right: 0.75rem;
        gap: 0.5rem;
    }

    .contact-toggle {
        width: 3.75rem;
        height: 3.75rem;
    }

    .sticky-assistant .ico-class,
    .sticky-assistant__icon-link {
        min-height: 3.75rem;
        min-width: 3.75rem;
        width: 3.75rem;
        height: 3.75rem;
        max-width: 3.75rem;
        padding: 0;
        border-radius: 50%;
        font-size: 0;
    }

    .sticky-assistant__icon-link:hover {
        width: 3.75rem;
        border-radius: 50%;
    }

    .sticky-assistant__text {
        display: none;
    }

    .sticky-assistant .ico-class svg,
    .sticky-assistant .ico-class img,
    .sticky-assistant__icon-link svg,
    .sticky-assistant__icon-link img {
        width: 3.75rem !important;
        height: 3.75rem !important;
        padding: 0.85rem;
        box-sizing: border-box;
    }

    .contact-people-one {
        width: min(18rem, calc(100vw - 2rem));
        right: 0;
        top: calc(100% + 0.75rem);
        transform: none;
    }
    .contact-people__container, .ansprechperson-einzeln__container {
        margin-top: 40px;
        margin-bottom: 40px;
    }
}

.accordion-container {
  width: 100%;
  padding-left: 24px;
  padding-right: 24px;
}

.accordion-container.padding_top_default {
  padding-top: 60px;
}

.accordion-container.padding_top_less {
  padding-top: 30px;
}

.accordion-container.padding_top_none {
  padding-top: 0;
}

.accordion-container.padding_bottom_default {
  padding-bottom: 60px;
}

.accordion-container.padding_bottom_less {
  padding-bottom: 30px;
}

.accordion-container.padding_bottom_none {
  padding-bottom: 0;
}

.accordion-container.bg_white {
  background-color: #ffffff;
}

.accordion-container.bg_almond_light {
  background-color: #efeae5;
}

.accordion-container.bg_almond {
  background-color: #ddcabc;
}

.accordion-container.bg_pink {
  background-color: #d09ebc;
}

.accordion {
  max-width: 1400px;
  margin: 0 auto;
  width: 100%;
}

.accordion__item {
  background-color: #ffffff;
  border-radius: 30px 0 30px 0;
  margin-bottom: 18px;
  overflow: hidden;
}

.accordion__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 24px 48px;
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  transition: all 0.3s ease;
}

.accordion__header:hover {
  color: #a51520;
}

.accordion__header:hover .accordion__icon {
  transform: translateY(2px);
}

.accordion__header[aria-expanded="true"] .accordion__icon {
  transform: rotate(180deg);
}

.accordion__title {
    color: var(--Johanneswerk-ROT, #9C1D28);
    font-family: "Nunito Sans";
    font-size: 30px;
    font-style: normal;
    font-weight: 700;
}

.accordion__icon {
  flex-shrink: 0;
  margin-left: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #a51520;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.accordion__icon svg {
  width: 16px;
  height: 16px;
  stroke: currentColor;
}

.accordion__content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.accordion__content-inner {
  padding: 0 48px 48px;
  font-size: 16px;
  line-height: 1.6;
  color: #333333;
}

.accordion__content-inner p {
  margin-bottom: 18px;
}

.accordion__content-inner p:last-child {
  margin-bottom: 0;
}

#finances .finance-item__intro {
  color: #9c1d28;
}

.accordion__content-inner table {
  width: 100%;
  margin: 32px 0;
  border-collapse: collapse;
  color: #000000;
}

.accordion__content-inner:has(table) {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.accordion__content-inner th,
.accordion__content-inner td {
  padding: 24px 8px;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid #e6e1dc;
  font-size: 20px;
}

.accordion__content-inner th {
  font-weight: 700;
  color: #000000;
}

/* Nested accordions */
.accordion .accordion {
    margin-top: 16px;
}

.accordion .accordion .accordion__item {
    background-color: #ffffff;
    border-radius: 20px 0 20px 0;
    margin-bottom: 12px;
    padding-left: 34px;
    padding-right: 34px;
}

.accordion .accordion .accordion__item:last-child {
    margin-bottom: 0;
}

.accordion .accordion .accordion__header {
    padding: 20px 32px;
}

.accordion .accordion .accordion__title {
    font-size: 15px;
    line-height: 20px;
    font-weight: 700;
}

.accordion .accordion .accordion__content-inner {
    padding: 0 32px 32px;
}

@media (max-width: 768px) {
    .accordion-container {
        padding-left: 16px;
        padding-right: 16px;
    }

    .accordion__header {
        padding: 18px 24px;
    }

    .accordion__content-inner {
        padding: 0 24px 24px;
    }

    .accordion__title {
        font-size: 15px;
        line-height: 20px;
    }

    .accordion__content-inner table {
        min-width: 640px;
        margin: 24px 0;
        font-size: 12px;
    }

    .accordion__content-inner th,
    .accordion__content-inner td {
        padding: 10px 8px;
    }

    .accordion .accordion .accordion__header {
        padding: 16px 20px;
    }

    .accordion .accordion .accordion__content-inner {
        padding: 0 20px 20px;
    }

    #finances .accordion__content-inner:has(> table) {
        overflow: visible;
    }

    #finances .accordion__content-inner > table {
        display: none;
    }

    #finances .accordion.finance-grade-accordion[data-finance-grade-accordion] {
        display: block;
        gap: 0;
        width: 100%;
        margin: 0;
        padding-bottom: 0;
    }

    #finances .accordion.finance-grade-accordion .finance-grade-accordion__item {
        margin: 0;
        padding: 0;
        border-radius: 0;
        background: transparent;
    }

    #finances .accordion.finance-grade-accordion .finance-grade-accordion__header {
        min-height: 0;
        padding: 13px 0 9px;
        background: transparent;
        color: #000000;
        border-bottom: 1px solid #9d9d9c;
    }

    #finances .accordion.finance-grade-accordion .finance-grade-accordion__title {
        color: #000000;
        font-size: 16px;
        line-height: 20px;
        font-weight: 700;
    }

    #finances .accordion.finance-grade-accordion .finance-grade-accordion__icon {
        margin-left: 12px;
        color: #000000;
    }

    #finances .accordion.finance-grade-accordion .finance-grade-accordion__content-inner {
        padding: 8px 0 12px;
        color: #000000;
        font-size: 15px;
        line-height: 20px;
    }

    #finances .finance-grade-accordion__values {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 1rem 3rem;
        margin: 0;
    }

    #finances .finance-grade-accordion__values dt,
    #finances .finance-grade-accordion__values dd {
        min-width: 0;
        margin: 0;
        font-weight: 400;
    }

    #finances .finance-grade-accordion__values dd {
        text-align: right;
        white-space: nowrap;
    }

    #finances .finance-grade-accordion__values p {
        margin: 0;
    }
}

@media (min-width: 769px) {
    #finances .finance-grade-accordion {
        display: none;
    }
}

/* Colors */

.bg_pink {
    background: var(--Purple-Fuzz, #D09EBC);
}

.bg_almond {
    background: var(--almond-beige-50, #DDCABC);
}

.bg_almond_light {
    background: var(--almond-beige-20, #EFEAE5);
}

.bg_red {
   background: var(--Johanneswerk-ROT, #9C1D28);
}

.bg_white {
    background: #FFF;
}

/*
Contact people inside facilities frame
*/
.frame-type-johanneswerk_facilities .contact-people__grid {
    align-items: stretch;
}

.frame-type-johanneswerk_facilities .contact-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}

.frame-type-johanneswerk_facilities .contact-card__media {
    flex: 0 0 360px;
    height: 360px;
    overflow: hidden;
}

.frame-type-johanneswerk_facilities .contact-card__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.contact-card-one .ansprechperson-einzeln__media--placeholder{
    border-radius: 999px;
}

.ansprechperson-einzeln__media--placeholder::after{
    border-radius: 999px;
    transform: scale(0.7);
    width: auto;
    height: 84px; 
    aspect-ratio: 1 / 1;
}

.frame-type-johanneswerk_facilities .contact-card__content {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
}

@media (max-width: 1200px) {
    .frame-type-johanneswerk_facilities .contact-card__media {
        flex-basis: 320px;
        height: 320px;
    }
}

@media (max-width: 768px) {
    .frame-type-johanneswerk_facilities .contact-card__media {
        flex-basis: 260px;
        height: 260px;
    }
}

/*
Events inside facilities frame
*/
.frame-type-johanneswerk_facilities .events-list:empty {
    display: none;
}

.frame-type-johanneswerk_facilities .events-list {
    display: grid;
    gap: clamp(2rem, 4vw, 4.5rem);
}

.frame-type-johanneswerk_facilities .event-card__inner {
    display: contents;
}

.frame-type-johanneswerk_facilities .event-card {
    display: grid;
    grid-template-columns: 360px minmax(0, 1fr) 170px;
    height: 475px;
    max-height: 475px;
    width: 100%;
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
    border-radius: 0 50px;
    background: #ffffff;
    overflow: visible;
    padding-left: 0;
}

.frame-type-johanneswerk_facilities .event-card__image {
    display: block;
    height: 475px;
    max-height: 475px;
    overflow: hidden;
    border-radius: 0 0 0 50px;
    background: #d8d1c8;
}

.frame-type-johanneswerk_facilities .event-card__img {
    display: block;
    width: 100%;
    height: 475px;
    max-height: 475px;
    object-fit: cover;
    object-position: center;
}

.frame-type-johanneswerk_facilities .event-card__category{
        font-size: clamp(0.75rem, calc(0.6667rem + 0.3419vw), 1rem);
        font-weight: 700;
}

.frame-type-johanneswerk_facilities .event-card__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding: 48px 72px;
}

.frame-type-johanneswerk_facilities .event-card__title,
.frame-type-johanneswerk_facilities .event-card__text {
    word-break: normal;
    overflow-wrap: normal;
    hyphens: none;
}

.frame-type-johanneswerk_facilities .event-card__action {
    align-self: center;
    justify-self: center;
}

@media (max-width: 1200px) {
    .frame-type-johanneswerk_facilities .event-card {
        grid-template-columns: 320px minmax(0, 1fr) 130px;
        height: 430px;
        max-height: 430px;
    }

    .frame-type-johanneswerk_facilities .event-card__image,
    .frame-type-johanneswerk_facilities .event-card__img {
        height: 430px;
        max-height: 430px;
    }

    .frame-type-johanneswerk_facilities .event-card__content {
        padding: 40px 48px;
    }
}

@media (max-width: 1100px) {
    .frame-type-johanneswerk_facilities .event-card {
        display: flex;
        flex-direction: column;
        max-width: 540px;
        height: auto;
        max-height: none;
        border-radius: 0 0 32px 0;
    }

    .frame-type-johanneswerk_facilities .event-card__image {
        width: 100%;
        height: clamp(13rem, 40vw, 18rem);
        max-height: none;
        border-radius: 0;
    }

    .frame-type-johanneswerk_facilities .event-card__img {
        width: 100%;
        height: 100%;
        max-height: none;
    }

    .frame-type-johanneswerk_facilities .event-card__content {
        padding: clamp(1.5rem, 5vw, 2.25rem);
    }

    .frame-type-johanneswerk_facilities .event-card__action {
        align-self: flex-start;
        justify-self: auto;
    }
}

.frame-type-johanneswerk_facilities .text-image-slider__intro {
    max-width: 80%;
    margin: 0 auto;
}

.frame-type-johanneswerk_facilities .text-image--no-image .text-image__grid {
    display: block;
}

.frame-type-johanneswerk_facilities .text-image--no-image .text-image__content {
    max-width: none;
}

.frame-type-johanneswerk_facilities .einrichtung-search__text {
    max-width: none;
}

/*
Mobile refinements inside facilities frame
*/
@media (max-width: 768px) {
    .frame.frame-type-container_1_columns.breadcrumb {
        padding-left: 0px;
        padding-right: 0px;
    }

    .frame-type-johanneswerk_facilities .category-breadcrumb {
        --bs-gutter-x: 24px;
        padding-bottom: 10px;
    }

    .frame.breadcrumb .frame-container {
        padding-bottom: 6px;
    }

    .frame.breadcrumb .frame-container::-webkit-scrollbar {
        height: 3px;
        background-color: #EFEAE5;
    }

    .frame.breadcrumb .frame-container::-webkit-scrollbar-track {
        background-color: #EFEAE5;
    }

    .frame.breadcrumb .frame-container::-webkit-scrollbar-thumb {
        background-color: rgba(156, 29, 40, 0.35);
    }

    .frame-type-johanneswerk_facilities .download-filelist__container {
        max-width: 100%;
    }

    .frame-type-johanneswerk_facilities .download-filelist__content-header,
    .frame-type-johanneswerk_facilities .download-filelist__intro {
        max-width: none;
    }

    .frame-type-johanneswerk_facilities .download-filelist__list {
        display: flex;
        gap: 0.75rem;
    }

    .frame-type-johanneswerk_facilities .download-filelist__header {
        display: none;
    }

    .frame-type-johanneswerk_facilities .address-hours__image,
    .frame-type-johanneswerk_facilities .address-hours__media,
    .frame-type-johanneswerk_facilities .address-hours__figure {
        overflow: hidden;
    }

    .frame-type-johanneswerk_facilities .address-hours__image img,
    .frame-type-johanneswerk_facilities .address-hours__media img,
    .frame-type-johanneswerk_facilities .address-hours__figure img {
        display: block;
        width: 100%;
        height: auto;
        object-fit: cover;
    }

    .frame-type-johanneswerk_facilities #finances.download-filelist__container {
        max-width: none;
        padding-left: 0;
        padding-right: 0;
    }

    @media (max-width: 786px){
 /*    .frame-type-johanneswerk_facilities #finances.download-filelist__container {
        padding-left: 36px;
        padding-right: 36px;
    } */
    }



    .frame-type-johanneswerk_facilities #finances .download-filelist__title,
    .frame-type-johanneswerk_facilities #finances .download-filelist__intro,
    .frame-type-johanneswerk_facilities #finances > p,
    .frame-type-johanneswerk_facilities #finances .video-element__media {
        width: calc(100% - 2rem);
        max-width: none;
        margin-left: auto;
        margin-right: auto;
    }

    @media (max-width: 786px){
         .frame-type-johanneswerk_facilities #finances .download-filelist__title,
        .frame-type-johanneswerk_facilities #finances .download-filelist__intro,
        .frame-type-johanneswerk_facilities #finances > p,
        .frame-type-johanneswerk_facilities #finances .video-element__media {
        width: 100%;
    }
    }

    .frame-type-johanneswerk_facilities #finances .accordion {
        display: grid;
        gap: 1rem;
        width: 100%;
        max-width: none;
        margin-left: auto;
        margin-right: auto;
        padding-bottom: var(--frame-spacing);
    }

    .frame-type-johanneswerk_facilities #finances .accordion__item {
        border-radius: 1.5rem 0 0 0;
        overflow: hidden;
        background: #fff;
    }

    .frame-type-johanneswerk_facilities #finances .accordion__header {
        min-height: 4rem;
        padding: 1rem 1.25rem;
        background: #fff;
    }

    .frame-type-johanneswerk_facilities #finances .accordion__title {
        font-size: var(--font-size-sm);
        line-height: 1.25;
    }

    .frame-type-johanneswerk_facilities #finances .accordion__icon {
        margin-left: 1rem;
    }

    .frame-type-johanneswerk_facilities #finances .accordion__content-inner {
        padding: 0 1.25rem 1.25rem;
    }

    .download-filelist--download .download-filelist__intro {
        text-align: left;
        width: 100%;
        margin-left: 0;
    }

}

/*
News cards inside facilities frame
*/
@media (max-width: 768px) {

    .text-image-slider__container {
        gap: 0rem;
    }

    .frame-type-johanneswerk_facilities .news-slider-view {
        overflow: hidden;
    }

    .frame-type-johanneswerk_facilities .news-slider-cards {
        display: grid;
        grid-template-columns: 1fr;
        gap: 1.5rem;
        width: calc(100% - 2rem);
        margin-left: auto;
        margin-right: auto;
    }

    .frame-type-johanneswerk_facilities .news-slider-card-link {
        display: block;
        width: 100%;
        color: inherit;
        text-decoration: none;
    }

    .frame-type-johanneswerk_facilities .news-slider-card {
        display: flex;
        flex-direction: column;
        width: 100%;
        min-height: 0;
        border-radius: 0 0 3rem 0;
        overflow: hidden;
        background: var(--almond-beige-20, #EFEAE5);
    }

    .frame-type-johanneswerk_facilities .news-slider-card__image {
        width: 100%;
        height: 12.75rem;
        overflow: hidden;
    }

    .frame-type-johanneswerk_facilities .news-slider-card__image img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }

    .frame-type-johanneswerk_facilities .news-slider-card__content {
        display: grid;
        gap: 1.25rem;
        padding: 1.75rem;
    }

    .frame-type-johanneswerk_facilities .news-slider-card__tag {
        justify-self: end;
        margin: 0;
    }

    .frame-type-johanneswerk_facilities .news-slider-card__title {
        margin: 0;
        font-size: var(--font-size-md);
        line-height: 1.25;
    }

    .frame-type-johanneswerk_facilities .news-slider-card__teaser {
        margin: 0;
        font-size: var(--font-size-sm);
        line-height: 1.45;
    }

    .frame-type-johanneswerk_facilities .news-slider-card__link {
        margin-top: 0.25rem;
    }

    .frame-type-johanneswerk_facilities .download-filelist h3 {
        font-size: 18px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: 28px !important; /* 155.556% */
    }
    .text-image--images-right .text-image__content {
        order: 1 !important;
    }

    .download-filelist--download .download-filelist__link {
        flex-direction: column !important;
        align-items: flex-start !important;
    }

    .download-filelist__title {
        text-align: left;
    }

}

.events-section__title {
    color: #9C1D28;
}

.frame-type-johanneswerk_facilities .download-filelist h3 {
    color: #9C1D28;
    width: 70%;
}

@media (max-width: 786px){
.frame-type-johanneswerk_facilities .download-filelist h3 {
    width: 100%;
}
}

.download-filelist__intro {
    max-width: 70rem;
}

.finances-video .frame{
    padding-bottom: 40px;
  }

.frame-type-johanneswerk_facilities {
    padding-top: 0;
    padding-bottom: 0;
}

.frame.frame-type-container_1_columns.breadcrumb {
  background: #EFEAE5;
}

.frame-type-johanneswerk_facilities .text-image__container {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.facility-contents.frame.frame-type-container_1_columns .container section  {
    padding-top: var(--frame-spacing-xl);
    padding-bottom: var(--frame-spacing-xl);
}

@media (max-width: 768px) {
    .download-filelist--filelist .download-filelist__list {
        padding: 0;
    }
}

/* Offer Slider */
.offer-slider-section__title, .offer-slider-section__text {
    text-align: center;
}

.einrichtung-search__text {
    color: #000;
}

h2.offer-slider-section__title, .offer-slider-section__title.h2 {
    margin-top: 0;
}

.offer-slider, ul.contact-people__grid, .gallery-slider__slider  {
    margin-top: 0;
}

.padding_top_default {
    padding-top: calc(var(--frame-spacing-xl));
}
.padding_bottom_default {
    padding-bottom: calc(var(--frame-spacing-xl));
}

@media screen and (max-width: 768px) {
    .offer-slider, ul.contact-people__grid, .gallery-slider__slider {
        margin-top: calc(var(--frame-spacing-small-sm) * 2 );
    }
    .padding_top_default {
    padding-top: calc(var(--frame-spacing-small-sm) * 2 );
    }
    .padding_bottom_default {
        padding-bottom: calc(var(--frame-spacing-small-sm) * 2 );
    }

    .offer-slider-section__title, .offer-slider-section__text {
        text-align: left;
    }
}

.download-filelist__title h2 {
    font-weight: 700;
}

section.text-image.text-image--images-right.padding_top_default.padding_bottom_default.text-image--has-image {
    padding-top: 0;
}

.accordion .accordion .accordion__item {
    border: 0px;
}
