/* BEGIN contact */
.text-image {
    padding: var(--y-padding) calc(var(--padding));
}

.text-image[data-type='image_video'] {
    padding-top: 0;
    padding-bottom: 0;
}

@media (min-width: 769px) {
    .text-image[data-type='contact_form'][data-overlapping='1'],
    .text-image[data-overlapping='1'] {
        margin-bottom: calc(var(--y-padding) * 3);
    }

    .text-image[data-type='image_video'] .content.image_video.left {
        padding-right: calc(var(--column) + var(--gap));
        margin-left: calc(0px - var(--padding));
    }

    .text-image[data-type='image_video'] .content.image_video.right {
        padding-left: calc(var(--column) + var(--gap));
        margin-right: calc(0px - (var(--padding) - var(--site-stroke)));
    }

    .text-image[data-type='image_video'] .text_buttons {
        padding-top: var(--y-padding);
        padding-bottom: var(--y-padding);
    }
}

.text-image .content.contact {
    display: grid;
    grid-template-columns: 4fr 5fr;
    grid-gap: var(--y-padding) calc(var(--column) + (2 * var(--gap)));
    padding: 0 calc(var(--gap) + var(--column));
}

.text-image .content.contact .contact-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: var(--gap);
    align-items: flex-start;
}

.text-image:not([data-overlapping='1']) .contact_item {
    display: flex;
    flex-direction: column;
    gap: 1em;
    align-items: flex-start;
}

.text-image .contact_item img {
    border-bottom: var(--stroke) solid var(--secondary);
}

.text-image .contact_item .image_wrapper {
    align-self: stretch;
}

.text-image .contact_item .image_wrapper img {
    height: 100%;
    object-fit: cover;
    aspect-ratio: auto;
}
@media (min-width: 769px) {
    .text-image .contact_item:nth-child(even) .image_wrapper {
        grid-column: 2;
        grid-row: 1;
    }

    .text-image .contact_item:nth-child(even) .contact_info {
        grid-column: 1;
        grid-row: 1;
    }
}

.text-image .contact_item .contact_info {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1em;
}

.text-image:not([data-overlapping='1']) .contact_item .contact_info {
    gap: 0.5em;
}

.text-image .contact_item .contact_info p > * {
    display: block;
}

.text-image[data-overlapping='1']
    .contact_item:nth-child(odd)
    .contact_info::after {
    align-self: flex-end;
}

.text-image[data-overlapping='1'] .contact_item .contact_info:after {
    content: '';
    display: block;
    height: var(--stroke);
    background-color: var(--secondary);
    width: calc(100% + var(--gap));
    margin-top: calc(var(--gap) - 0.5em);
}

.text-image .social_media_wrapper {
    margin-top: var(--gap);
}

.text-image .social_media_wrapper img {
    border-bottom: 0;
}

.text-image .social_media_wrapper .social_media {
    padding-right: var(--gap);
}

.text-image .contact_info {
    line-height: 1.2;
}

.text-image .contact_info.bold span {
    font-weight: 650;
}

.text-image .contact_info .text.pb {
    display: block;
}

.text-image .contact_info .title {
    display: block;
}

.text-image .text_buttons,
.text-image form {
    display: flex;
    flex-direction: column;
    gap: 3.5rem;
    align-items: flex-start;
}

.text-image.bg-transparent .text_buttons {
    box-shadow: var(--box-shadow);
    padding: var(--small-y-padding) var(--content-padding);
    background-color: var(--white);
}

.text-image.bg-transparent .content.contact_form {
    gap: var(--gap);
    grid-template-columns: 3fr 7fr;
}

/* left */
.text-image .content.contact.left .contact-row {
    grid-row: 1;
}

/* bottom */
.text-image .content.contact.bottom {
    grid-template-columns: 1fr;
    grid-gap: var(--small-y-padding) var(--gap);
}

.text-image .content.contact.bottom .contact-row .contact_detail {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: var(--gap);
    padding: calc(var(--padding) / 2);
    box-shadow: var(--box-shadow);
    background-color: var(--white);
    align-items: end;
}
.text-image .content.contact.bottom .contact-row .contact_detail > .text {
    grid-column: 1 / 3;
}

.text-image .content.contact.bottom .text-image .contact-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: var(--gap);
}
/* END contact_form*/
.text-image .content.contact_form {
    display: grid;
    grid-gap: var(--gap);
    padding: 0 calc(var(--gap) + var(--column));
    grid-template-columns: 2fr 7fr;
    grid-gap: calc(var(--column) + (2 * var(--gap)));

    align-items: start;
    margin-bottom: 0 !important;
    height: auto !important;
}

.text-image[data-type='contact_form'] .content.contact_form .form {
    box-shadow: var(--box-shadow);
    padding: var(--small-y-padding) var(--content-padding);
    background-color: var(--white);
}

@media (min-width: 769px) {
    .text-image[data-type='contact_form'][data-overlapping='1'] .content.contact_form .form {
        margin-bottom: calc(0px - var(--y-padding) * 3);
    }
    .text-image[data-overlapping='1'] .contact-row {
        margin-bottom: calc(0px - var(--y-padding) * 3);
    }
}

.text-image .content.contact_form.left {
    grid-template-columns: calc(var(--column) * 7) calc(var(--column) * 2);
    grid-gap: calc(var(--column) + (2 * var(--gap)));
}
.text-image .content.contact_form.left .form {
    grid-row: 1;
}
.text-image .content.contact_form.bottom {
    grid-template-columns: 1fr;
    grid-gap: var(--gap);
}
/* END contact_form */
/* BEGIN text_image*/

.text-image .content.image_video {
    display: grid;
    grid-template-columns: 5fr 6fr;
    grid-gap: calc(var(--column) + (2 * var(--gap)));
}

.text-image .content.image_video.left {
    grid-template-columns: 6fr 5fr;
}

.text-image .content.image_video > .image_video {
    position: relative;
    width: 100%;
    align-self: stretch;
    display: flex;
    flex-direction: column;
    align-items: stretch;
}
@media (min-width: 769px) {
    .text-image .content.image_video > .image_video {
        max-height: 100vh;
        position: sticky;
        top: 0;
    }
}

.text-image .content.image_video > .image_video .overlay {
    display: block;
    width: 100%;
    background-color: var(--primary);
    color: #fff;
    padding: var(--gap) var(--column);
    flex-grow: 0;
    flex-shrink: 0;
    align-self: end;
    height: auto;
}

.text-image .content.image_video > .image_video > * {
    max-width: 100%;
    display: block;
    height: auto;
    flex-grow: 1;
    object-fit: cover;
}
@media (min-width: 769px) {
    .text-image .content.image_video > .image_video > * {
        height: 15rem;
        aspect-ratio: auto;
        flex-shrink: 1;
    }
}

.text-image .content.image_video.left .image_video {
    grid-row: 1;
}

.text-image .content.image_video.left > .text_buttons {
    padding: var(--y-padding) 0;
}

.text-image .text_buttons p a {
    display: inline-block;
}
/* END text_image*/

@media (max-width: 1380px) {
    .text-image,
    .text-image .content.image_video > .image_video .overlay {
        padding-left: var(--mobile-padding);
        padding-right: var(--mobile-padding);
    }

    .text-image.bg-white[data-type="contact_form"] .content .text_buttons,
    .text-image.bg-white[data-type="contact_form"] {
        padding-left: var(--padding);
        padding-right: var(--padding);
        background: none;
        box-shadow: none;
    }

    .text-image[data-overlapping='1'] + .text-image.bg-white[data-type="contact_form"] {
        margin-top: calc(var(--y-padding) * 4);
    }

    .text-image.bg-white[data-type="contact_form"] .content .text_buttons {
        position: relative;
    }

    .text-image.bg-white[data-type="contact_form"] .content .text_buttons:after {
        content: '';
        background-color: var(--white);
        box-shadow: var(--box-shadow);
        left: calc(0px - var(--padding));
        /* right: calc(0px - var(--padding)); */
        width: 100vw;
        top: calc(0px - var(--small-y-padding));
        bottom: calc(0px - var(--small-y-padding) * 2);
        position: absolute;
        z-index: -1;
    }

    .content.contact_form.overlapping-background {
        gap: var(--small-y-padding);
    }

    .text-image .content {
        padding: 0 !important;
    }

    p {
        max-width: 100%;
    }
}

@media (max-width: 1700px) and (min-width: 951px) {

    .text-image .content.contact.bottom .contact-row .contact_detail {
        padding: var(--gap);
    }
    .text-image .contact_item .contact_info {
        gap: 0.6vw;
        font-size: 1.3rem;
    }
    .text-image .contact_info.bold .headline {
        font-size: 2.4rem;
    }
}

@media (max-width: 950px) and (min-width: 769px) {

    .text-image .content.contact.bottom .contact-row {
        grid-template-columns: 1fr;
    }

    .text-image .content.contact.right,
    .text-image .content.contact.left {
        grid-template-columns: 1fr;
    }

    .text-image .content.contact.bottom .contact-row .contact_detail {
        grid-template-columns: 1fr 2fr;
    }

    .text-image .content.contact.bottom .contact-row .contact_item:nth-child(even) .contact_detail {
        grid-template-columns: 2fr 1fr;
    }
}

@media (max-width: 768px) {

    .text-image .contact_item .image_wrapper img {
        max-height: calc(100vw / 7 * 4.5);
    }
    

    .text-image {
        padding-top: 0;
        padding-bottom: 0;
    }

    .text-image[data-type="contact_form"] {
        padding-bottom: var(--small-y-padding);
    }

    .text-image .content.image_video,
    .text-image .content.contact,
    .text-image .content {
        grid-template-columns: 1fr !important;
        gap: var(--small-y-padding);
    }

    .text-image[data-overlapping='1'] + .text-image.bg-white[data-type="contact_form"] {
        margin-top: var(--small-y-padding);
    }

    form .form-content.mobile_accordion {
        display: none;
    }

    .content.contact_form.overlapping-background {
        padding-bottom: var(--small-y-padding) !important;
    }

    .text-image .content .text_buttons {
        margin-top: var(--small-y-padding);
    }

    .text-image .content.left .text_buttons {
        margin-bottom: var(--small-y-padding);
        margin-top: 0;
    }

    .text-image .content.image_video.left > .text_buttons {
        padding-top: 0;
        padding-bottom: 0;
    }

    .text-image.bg-transparent .text_buttons,
    .text-image.bg-transparent,
    .text-image[data-type='contact_form'] .content.contact_form .form {
        padding-left: var(--padding);
        padding-right: var(--padding);
    }

    .wp-block-contact-form-7-contact-form-selector .wpcf7 .form-content,
    .wp-block-contact-form-7-contact-form-selector .wpcf7 .grid-row {
        grid-template-columns: 1fr;
    }

    .text-image .content.contact .contact-row {
        margin-bottom: var(--small-y-padding);
    }

    .text-image[data-overlapping='1'] .content.contact .contact-row {
        grid-template-columns: 1fr;
        margin-left: calc(0px - var(--padding));
        margin-right: calc(0px - var(--padding));
    }
    .text-image .content.contact.bottom .contact-row .contact_detail {
        padding: var(--padding);
    }

    /* .text-image[data-overlapping="1"] .content.contact .contact-row, */
    .text-image .content.image_video > .image_video {
        margin-left: calc(0px - var(--mobile-padding));
        margin-right: calc(0px - var(--mobile-padding));
        width: 100vw;
    }

    .text-image .bottom .contact_item .contact_detail {
        display: grid;
        grid-template-rows: 1fr auto auto auto auto auto;
        /* gap: .25em var(--gap) !important; */
        grid-template-areas:
            'image headline'
            'image position'
            'image social'
            'title title'
            'contact contact'
            'vita vita';
    }

    .text-image .bottom .contact_item:nth-of-type(even) .contact_detail {
        grid-template-areas:
            'headline image'
            'position image'
            'social image'
            'title title'
            'contact contact'
            'vita vita';
    }

    .text-image .bottom .contact_item .contact_info {
        display: grid;
        gap: inherit;
        grid-template-columns: subgrid;
        grid-template-rows: subgrid;
        grid-column: 1 / span 2;
        grid-row: 1 / span 5;
    }

    .text-image .bottom .contact_item .image_wrapper {
        grid-area: image;
        /* grid-column: 1; */
        /* grid-row: 1 / span 3; */
        position: relative;
    }

    .text-image .bottom .contact_item img {
        border: none;
    }

    .text-image .bottom .contact_item .image_wrapper:after {
        content: '';
        height: var(--stroke);
        background-color: var(--secondary);
        display: block;
        width: calc(200% + var(--gap));
        left: 0;
        bottom: 0;
        position: absolute;
    }

    .text-image .bottom .contact_item:nth-of-type(even) .image_wrapper:after {
        right: 0;
        left: auto;
    }

    .text-image .bottom .contact_info .headline {
        grid-area: headline;
        /* grid-column: 2; */
        /* grid-row: 1; */
        align-self: end;
    }

    .text-image .bottom .contact_info .social_media_wrapper {
        grid-area: social;
        /* grid-column: 2; */
        /* grid-row: 3; */
        margin-top: 0;
        margin-bottom: calc(var(--gap) + var(--stroke));
    }

    .text-image .bottom .contact_info > p {
        grid-column: 1 / span 2;
    }

    .text-image .bottom .mobile_accordion_toggle {
        grid-column-end: span 2;
    }

    .text-image .bottom .mobile_accordion_toggle:not(.mobile_accordion + .mobile_accordion_toggle) {
        display: none;
    }

    .text-image .bottom .contact_info > p:first-of-type {
        grid-area: position;
        /* grid-column: 2; */
        /* grid-row: 2; */
    }

    .text-image[data-overlapping='1'] .contact_item .contact_info:after {
        content: none;
    }
}


/* Social-Media Links Button Information unterm Text */
.social_media_wrapper {
    display: flex;
    align-items: flex-start;
    gap: var(--gap);
    justify-content: flex-start;
    }

.social_media_text_information  {
    max-width: 11.5rem;
    font-size: 1.2rem;
    margin-top: 1rem;
}

.social_media_text_information .span {
    word-break: break-word;
}

@media (max-width: 768px) {
    .social_media_text_information  {
        font-size: 0.8rem;
    }
}