/* ==========================================================
   DATA MART – KONTAKTÜBERSICHT SLIDE-IN
   Desktop: 2 Standorte nebeneinander
   Mobile:  1 Spalte
========================================================== */

.dm-contact-overview {
    --dm-green: #2fc49a;
    --dm-blue: #3e6790;
    --dm-dark: #303236;
    --dm-text: #626a70;
    --dm-border: #e5e9ec;
    --dm-light: #f5f7f8;

    width: 100%;
    box-sizing: border-box;
    font-family: inherit;
}

.dm-contact-overview *,
.dm-contact-overview *::before,
.dm-contact-overview *::after {
    box-sizing: border-box;
}


/* ==========================================================
   ÜBERSCHRIFT
========================================================== */

.dm-contact-overview__head {
    max-width: 680px;
    margin-bottom: 26px;
}

.dm-contact-overview__kicker {
    display: block;

    margin-bottom: 7px;

    color: var(--dm-green);

    font-size: 18px;
    line-height: 1.2;
    font-weight: 700;

    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.dm-contact-overview__head h2 {
    margin: 0 0 10px;

    color: var(--dm-dark);

    font-size: 31px;
    line-height: 1.1;
    font-weight: 700;
}

.dm-contact-overview__head p {
    margin: 0;

    color: var(--dm-text);

    font-size: 18px;
    line-height: 1.65;
}


/* ==========================================================
   GRID
========================================================== */

.dm-contact-overview__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}


/* ==========================================================
   STANDORT KARTE
========================================================== */

.dm-office {
    position: relative;

    min-width: 0;

    overflow: hidden;

    background: #fff;

    border: 1px solid var(--dm-border);
    border-radius: 8px;

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}

.dm-office:hover {
    transform: translateY(-3px);

    border-color: rgba(47, 196, 154, .5);

    box-shadow:
        0 16px 35px rgba(25, 40, 50, .10);
}


/* ==========================================================
   BILD
========================================================== */

.dm-office__image {
    position: relative;

    width: 100%;
    height: 190px;

    overflow: hidden;

    background: #ddd;
}

.dm-office__image::after {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            to top,
            rgba(18, 29, 38, .75) 0%,
            rgba(18, 29, 38, .25) 50%,
            rgba(18, 29, 38, .04) 100%
        );

    pointer-events: none;
}

.dm-office__image img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition: transform .6s ease;
}

.dm-office:hover .dm-office__image img {
    transform: scale(1.035);
}


/* ==========================================================
   STADT ÜBER BILD
========================================================== */

.dm-office__city {
    position: absolute;

    z-index: 2;

    left: 20px;
    right: 20px;
    bottom: 18px;

    display: flex;
    align-items: center;
    gap: 13px;

    color: #fff;
}

.dm-office__city > div > span {
    display: block;

    margin-bottom: 1px;

    color: rgba(255,255,255,.75);

    font-size: 14px;
    font-weight: 700;

    letter-spacing: 1.4px;
    text-transform: uppercase;
}

.dm-office__city h3 {
    margin: 0;

    color: #fff;

    font-size: 35px;
    line-height: 1;
    font-weight: 700;
}


/* ==========================================================
   LOCATION PIN
========================================================== */

.dm-office__pin {
    position: relative;

    width: 34px;
    height: 34px;

    flex: 0 0 34px;

    background: var(--dm-green);

    border-radius: 50% 50% 50% 0;

    transform: rotate(-45deg);

    box-shadow: 0 4px 15px rgba(0,0,0,.15);
}

.dm-office__pin span {
    position: absolute;

    top: 11px;
    left: 11px;

    width: 12px;
    height: 12px;

    background: #fff;

    border-radius: 50%;
}


/* ==========================================================
   INHALT
========================================================== */

.dm-office__content {
    padding: 19px 20px 14px;
}


/* ==========================================================
   ADRESSE
========================================================== */

.dm-office__address {
    padding-bottom: 16px;
    margin-bottom: 4px;

    border-bottom: 1px solid var(--dm-border);

    color: var(--dm-text);

    font-size: 18px;
    line-height: 1.55;
}

.dm-office__address strong,
.dm-office__address span {
    display: block;
}

.dm-office__address strong {
    margin-bottom: 3px;

    color: var(--dm-dark);

    font-weight: 700;
}


/* ==========================================================
   KONTAKT
========================================================== */

.dm-office__contact {
    display: flex;
    flex-direction: column;
}

.dm-office__contact-row {
    display: flex;
    align-items: center;

    min-width: 0;

    gap: 11px;

    padding: 11px 0;

    color: var(--dm-blue);

    text-decoration: none;

    border-bottom: 1px solid #eef1f3;

    transition:
        color .2s ease,
        padding-left .2s ease;
}

.dm-office__contact-row:last-child {
    border-bottom: 0;
}

.dm-office__contact-row:hover {
    color: var(--dm-green);
    padding-left: 3px;
}


/* ICON */

.dm-office__icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 34px;
    height: 34px;

    flex: 0 0 34px;

    background: rgba(47,196,154,.10);

    border-radius: 50%;
}

.dm-office__icon svg {
    width: 16px;
    height: 16px;

    fill: var(--dm-green);
}


/* TEXT */

.dm-office__contact-text {
    display: block;

    min-width: 0;

    flex: 1;
}

.dm-office__contact-text small {
    display: block;

    margin-bottom: 1px;

    color: #92999f;

    font-size: 14px;
    line-height: 1.2;
    font-weight: 700;

    letter-spacing: .8px;
    text-transform: uppercase;
}

.dm-office__contact-text strong {
    display: block;

    overflow-wrap: anywhere;

    color: inherit;

    font-size: 18px;
    line-height: 1.3;
    font-weight: 700;
}


/* PFEIL */

.dm-office__arrow {
    margin-left: auto;

    color: #a9afb4;

    font-size: 18px;

    transition:
        color .2s ease,
        transform .2s ease;
}

.dm-office__contact-row:hover .dm-office__arrow {
    color: var(--dm-green);
    transform: translateX(3px);
}


/* ==========================================================
   KONTAKTFORMULAR
========================================================== */

.dm-contact-overview__button {
    display: flex;
    align-items: center;
    justify-content: space-between;

    width: 100%;

    margin-top: 18px;
    padding: 15px 18px;

    color: #fff;
    background: var(--dm-blue);

    border-radius: 5px;

    text-decoration: none;

    font-size: 12px;
    line-height: 1.2;
    font-weight: 700;

    letter-spacing: 1px;
    text-transform: uppercase;

    transition:
        background .2s ease,
        transform .2s ease;
}

.dm-contact-overview__button:hover {
    color: #fff;

    background: var(--dm-green);

    transform: translateY(-1px);
}

.dm-contact-overview__button span:last-child {
    font-size: 20px;

    transition: transform .2s ease;
}

.dm-contact-overview__button:hover span:last-child {
    transform: translateX(4px);
}


/* ==========================================================
   RESPONSIVE
========================================================== */

@media (max-width: 700px) {

    .dm-contact-overview__grid {
        grid-template-columns: 1fr;
    }

    .dm-office__image {
        height: 175px;
    }

    .dm-contact-overview__head h2 {
        font-size: 27px;
    }

}


/* Sehr schmale Geräte */

@media (max-width: 400px) {

    .dm-office__content {
        padding: 17px;
    }

    .dm-office__city {
        left: 17px;
        bottom: 16px;
    }

    .dm-office__city h3 {
        font-size: 24px;
    }

}


/* ==============================================
   DATA MART – SLIDE-IN KONTAKT
   GEMEINSAME STYLES
============================================== */

.dm-quick-contact,
.dm-form-section,
.dm-location-section {
    --dm-green: #22977e;
    --dm-green-dark: #187d69;
    --dm-blue: #315879;
    --dm-dark: #20344a;
    --dm-text: #657588;
    --dm-light: #f5f8f9;
    --dm-border: #dce5e9;

    width: 100%;
    font-family: inherit;
    box-sizing: border-box;
}

.dm-quick-contact *,
.dm-form-section *,
.dm-location-section * {
    box-sizing: border-box;
}

/* GEMEINSAME LABELS */

.dm-eyebrow {
    display: block;
    margin-bottom: 9px;
    color: #22977e;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.3px;
    line-height: 1.4;
}

/* ==============================================
   1. SCHNELLKONTAKT
============================================== */

.dm-quick-contact {
    padding: 26px;
    background: linear-gradient(
        135deg,
        #f3f9f8 0%,
        #ffffff 75%
    );
    border: 1px solid #dcebe7;
    border-radius: 12px;
}

.dm-quick-contact__intro h2 {
    margin: 0 0 12px;
    color: var(--dm-dark);
    font-size: 27px;
    font-weight: 750;
    line-height: 1.2;
}

.dm-quick-contact__intro h2 span {
    color: var(--dm-green);
}

.dm-quick-contact__intro p {
    margin: 0 0 22px;
    color: var(--dm-text);
    font-size: 15px;
    line-height: 1.65;
}

.dm-quick-contact__grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 10px;
}

.dm-quick-contact__card {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    min-height: 72px;
    padding: 12px;

    background: #fff;
    border: 1px solid var(--dm-border);
    border-radius: 8px;

    color: var(--dm-dark) !important;
    text-decoration: none !important;
    transition: all .2s ease;
}

.dm-quick-contact__card:hover {
    border-color: var(--dm-green);
    box-shadow: 0 5px 20px rgba(0,0,0,.06);
    transform: translateY(-2px);
}

.dm-quick-contact__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 37px;
    height: 37px;
    flex: 0 0 37px;

    color: var(--dm-green);
    background: #e7f5f1;
    border-radius: 8px;
}

.dm-quick-contact__icon svg {
    width: 18px;
    height: 18px;
    fill: currentColor;
}

.dm-quick-contact__card-content {
    display: block;
    flex: 1;
    min-width: 0;
}

.dm-quick-contact__card-content strong {
    display: block;
    color: var(--dm-dark);
    font-size: 13px;
    font-weight: 750;
    line-height: 1.3;
}

.dm-quick-contact__card-content small {
    display: block;
    margin-top: 4px;
    color: var(--dm-text);
    font-size: 11px;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.dm-quick-contact__arrow {
    color: var(--dm-green);
    font-size: 17px;
}

.dm-quick-contact__card,
.dm-quick-contact__card:hover,
.dm-quick-contact__card span {
    text-decoration: none !important;
}

/* ==============================================
   2. KONTAKTFORMULAR
============================================== */

.dm-form-section {
    margin-top: 20px;
    padding: 26px;

    background: #fff;
    border: 1px solid var(--dm-border);
    border-radius: 12px;
    box-shadow: 0 5px 24px rgba(25,50,70,.04);
}

.dm-form-section__header {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 23px;
}

.dm-form-section__icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 45px;
    height: 45px;
    flex: 0 0 45px;

    color: #fff;
    background: var(--dm-blue);
    border-radius: 10px;
}

.dm-form-section__icon svg {
    width: 21px;
    height: 21px;
}

.dm-form-section__header h3 {
    margin: 0 0 6px;
    color: var(--dm-dark);
    font-size: 21px;
    font-weight: 750;
}

.dm-form-section__header p {
    margin: 0;
    color: var(--dm-text);
    font-size: 14px;
    line-height: 1.6;
}

.dm-form-section__body {
    width: 100%;
}

/* AVADA FORMULAR */

.dm-form-section .fusion-form label {
    color: var(--dm-dark) !important;
    font-size: 13px !important;
    font-weight: 650 !important;
}

.dm-form-section .fusion-form input:not([type="checkbox"]):not([type="radio"]),
.dm-form-section .fusion-form textarea,
.dm-form-section .fusion-form select {
    width: 100%;
    min-height: 46px;
    padding: 11px 13px;

    color: var(--dm-dark);
    background: var(--dm-light);

    border: 1px solid var(--dm-border);
    border-radius: 5px;
    box-shadow: none;

    font-family: inherit;
    font-size: 14px;
}

.dm-form-section .fusion-form textarea {
    min-height: 105px;
    resize: vertical;
}

.dm-form-section .fusion-form input:focus,
.dm-form-section .fusion-form textarea:focus,
.dm-form-section .fusion-form select:focus {
    border-color: var(--dm-green);
    outline: 2px solid rgba(34,151,126,.15);
}

/* ABSENDEN */

.dm-form-section .fusion-form button[type="submit"],
.dm-form-section .fusion-form .fusion-button {
    width: 100%;
    min-height: 52px;
    padding: 13px 20px;

    color: #fff !important;
    background: var(--dm-blue) !important;
    border: 1px solid var(--dm-blue) !important;
    border-radius: 5px !important;

    font-size: 13px !important;
    font-weight: 750 !important;
    text-decoration: none !important;
    transition: background .2s ease;
}

.dm-form-section .fusion-form button[type="submit"]:hover,
.dm-form-section .fusion-form .fusion-button:hover {
    color: #fff !important;
    background: var(--dm-green) !important;
    border-color: var(--dm-green) !important;
    text-decoration: none !important;
}

/* ==============================================
   3. STANDORTE
============================================== */

.dm-location-section {
    margin-top: 20px;
    padding: 24px;

    background: #f5f8f9;
    border: 1px solid var(--dm-border);
    border-radius: 12px;
}

.dm-location-section__header {
    margin-bottom: 17px;
}

.dm-location-section__header h3 {
    margin: 0;
    color: var(--dm-dark);
    font-size: 19px;
    font-weight: 750;
}

.dm-location-section__grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 10px;
}

.dm-location-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 15px;

    background: #fff;
    border: 1px solid var(--dm-border);
    border-radius: 8px;
}

.dm-location-card__top {
    display: flex;
    align-items: center;
    gap: 10px;
}

.dm-location-card__pin {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 35px;
    height: 35px;
    flex: 0 0 35px;

    color: var(--dm-green);
    background: #e7f5f1;
    border-radius: 8px;
}

.dm-location-card__pin svg {
    width: 19px;
    height: 19px;
    fill: currentColor;
}

.dm-location-card__top strong {
    display: block;
    color: var(--dm-dark);
    font-size: 14px;
    font-weight: 750;
}

.dm-location-card__top span:not(.dm-location-card__pin) {
    display: block;
    color: var(--dm-text);
    font-size: 11px;
    line-height: 1.4;
}

.dm-location-card p {
    margin: 13px 0;
    color: var(--dm-text);
    font-size: 12px;
    line-height: 1.6;
}

.dm-location-card > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;

    margin-top: auto;
    padding-top: 10px;

    color: var(--dm-green) !important;
    border-top: 1px solid var(--dm-border);

    font-size: 12px;
    font-weight: 750;
    text-decoration: none !important;
}

.dm-location-card > a:hover {
    color: var(--dm-blue) !important;
    text-decoration: none !important;
}

.dm-location-card > a span {
    font-size: 17px;
    text-decoration: none !important;
}

/* ==============================================
   RESPONSIVE
============================================== */

@media (max-width: 600px) {

    .dm-quick-contact,
    .dm-form-section,
    .dm-location-section {
        padding: 20px;
    }

    .dm-quick-contact__intro h2 {
        font-size: 24px;
    }

    .dm-quick-contact__grid,
    .dm-location-section__grid {
        grid-template-columns: 1fr;
    }

    .dm-quick-contact__card {
        min-height: 65px;
    }

    .dm-form-section__header h3 {
        font-size: 19px;
    }

    .dm-form-section .fusion-form input:not([type="checkbox"]):not([type="radio"]),
    .dm-form-section .fusion-form textarea {
        font-size: 16px;
    }
}

/* ==========================================
   DATA MART – KONTAKTFUNNEL
   Mindestschriftgröße: 18px
   Desktop & Mobile
========================================== */

/* Grunddesign */
.dmf {
    --dm-green: #00be90;
    --dm-blue: #376588;
    --dm-dark: #20344a;
    --dm-muted: #607588;
    --dm-line: #dce7e9;
    --dm-soft: #f4f8f9;

    font-size: 18px !important;
    line-height: 1.6;
}

/* Alle Texte mindestens 18px */
.dmf p,
.dmf span,
.dmf label,
.dmf a,
.dmf strong,
.dmf small,
.dmf b,
.dmf input,
.dmf textarea,
.dmf select,
.dmf button {
    font-size: 18px !important;
    line-height: 1.5;
}

/* Hauptüberschrift */
.dmf .dmf-head h2 {
    font-size: 32px !important;
    line-height: 1.25;
    font-weight: 700;
    color: #20344a;
    margin-bottom: 15px;
}

.dmf .dmf-head h2 em {
    color: #00be90;
    font-style: normal;
}

/* Einleitung */
.dmf .dmf-head p {
    font-size: 18px !important;
    line-height: 1.65;
}

/* Kleine Bereichsüberschriften */
.dmf .dmf-kicker,
.dmf .dmf-progress-label strong,
.dmf .dmf-locations > strong {
    font-size: 18px !important;
    font-weight: 700;
    letter-spacing: 0.5px;
    color: #00be90;
}

/* Schnellkontakt-Karten */
.dmf .dmf-quick {
    gap: 12px;
    margin-bottom: 22px;
}

.dmf .dmf-quick a {
    padding: 16px;
    border-radius: 10px;
    background: #f4f8f9;
}

.dmf .dmf-quick strong {
    font-size: 18px !important;
    font-weight: 700;
}

.dmf .dmf-quick small {
    font-size: 18px !important;
    color: #607588;
}

/* Formular-Container */
.dmf .dmf-form {
    padding: 28px;
    border-radius: 14px;
    background: #ffffff;
    border: 1px solid #dce7e9;
}

/* Fortschrittsanzeige */
.dmf .dmf-step-label {
    font-size: 18px !important;
}

.dmf .dmf-progress {
    height: 7px;
    border-radius: 10px;
}

.dmf .dmf-progress i {
    background: #00be90;
}

/* Überschriften der einzelnen Schritte */
.dmf .dmf-page h3 {
    font-size: 24px !important;
    line-height: 1.35;
    font-weight: 700;
    color: #20344a;
    margin-bottom: 12px;
}

/* Beschreibungstexte */
.dmf .dmf-page > p {
    font-size: 18px !important;
    line-height: 1.6;
    margin-bottom: 22px;
}

/* Formular-Labels */
.dmf .dmf-page label {
    font-size: 18px !important;
    font-weight: 600;
    line-height: 1.5;
    margin-bottom: 18px;
}

/* Eingabefelder */
.dmf .dmf-page input:not([type="checkbox"]),
.dmf .dmf-page textarea,
.dmf .dmf-page select {
    font-size: 18px !important;
    line-height: 1.5;
    padding: 14px 16px;
    border-radius: 8px;
    background: #f4f8f9;
    border: 1px solid #dce7e9;
    color: #20344a;
}

/* Platzhalter */
.dmf input::placeholder,
.dmf textarea::placeholder {
    font-size: 18px !important;
    color: #607588;
    opacity: 1;
}

/* Fokus */
.dmf input:focus,
.dmf textarea:focus,
.dmf select:focus {
    border-color: #00be90;
    outline: 2px solid rgba(0, 190, 144, 0.2);
}

/* Buttons */
.dmf .dmf-page button {
    font-size: 18px !important;
    font-weight: 700;
    line-height: 1.4;
    padding: 16px 22px;
    border-radius: 8px;
    background: #376588;
    border-color: #376588;
    color: #ffffff;
    transition: background 0.2s ease;
}

/* Button Hover */
.dmf .dmf-page button:hover {
    background: #00be90;
    border-color: #00be90;
}

/* Zurück-Button */
.dmf .dmf-nav .dmf-back {
    background: #ffffff;
    color: #376588;
    border: 1px solid #dce7e9;
}

/* Zusammenfassung */
.dmf .dmf-summary p,
.dmf .dmf-summary strong {
    font-size: 18px !important;
    line-height: 1.6;
}

/* Datenschutz */
.dmf .dmf-privacy,
.dmf .dmf-privacy span,
.dmf .dmf-privacy a {
    font-size: 18px !important;
    line-height: 1.6;
}

/* Checkbox */
.dmf .dmf-privacy input[type="checkbox"] {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    accent-color: #00be90;
}

/* Statusmeldungen */
.dmf .dmf-status {
    font-size: 18px !important;
    line-height: 1.5;
}

/* Standort-Karten */
.dmf .dmf-locations a {
    font-size: 18px !important;
    line-height: 1.5;
    padding: 15px;
}

/* ==========================================
   MOBILE OPTIMIERUNG
========================================== */

@media (max-width: 767px) {

    .dmf {
        font-size: 18px !important;
    }

    .dmf .dmf-head h2 {
        font-size: 28px !important;
    }

    .dmf .dmf-page h3 {
        font-size: 22px !important;
    }

    .dmf .dmf-form {
        padding: 18px;
    }

    .dmf .dmf-quick,
    .dmf .dmf-locations > div {
        grid-template-columns: 1fr;
    }

    .dmf .dmf-fields {
        grid-template-columns: 1fr;
    }

    .dmf .dmf-nav {
        flex-direction: column;
    }

    .dmf .dmf-nav button {
        width: 100%;
    }

    .dmf .dmf-page input,
    .dmf .dmf-page textarea,
    .dmf .dmf-page select,
    .dmf .dmf-page button {
        font-size: 18px !important;
    }
}

/* DATA MART – Standortbereich vollständig entfernen */
html body .dmf .dmf-locations,
html body div.dmf-locations {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Abstand zwischen Textfeld und Weiter-Button */
.dmf .dmf-page textarea {
    margin-bottom: 20px !important;
}

/* Language-independent contact icons. No external fonts or SVG markup required. */
.dm-contact-overview .dm-office__contact-row[href^="tel:"] { --dm-office-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22%232fc49a%22%20d%3D%22M6.62%2010.79a15.05%2015.05%200%200%200%206.59%206.59l2.2-2.2a1%201%200%200%201%201.02-.24c1.12.37%202.33.57%203.57.57a1%201%200%200%201%201%201V20a1%201%200%200%201-1%201C10.61%2021%203%2013.39%203%204a1%201%200%200%201%201-1h3.5a1%201%200%200%201%201%201c0%201.25.2%202.45.57%203.57a1%201%200%200%201-.25%201.02z%22%2F%3E%3C%2Fsvg%3E"); }
.dm-contact-overview .dm-office__contact-row[href^="mailto:"] { --dm-office-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22%232fc49a%22%20d%3D%22M20%204H4a2%202%200%200%200-2%202v12a2%202%200%200%200%202%202h16a2%202%200%200%200%202-2V6a2%202%200%200%200-2-2zm0%204-8%205-8-5V6l8%205%208-5v2z%22%2F%3E%3C%2Fsvg%3E"); }
.dm-contact-overview .dm-office__contact-row:not([href^="tel:"]):not([href^="mailto:"]) { --dm-office-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22%232fc49a%22%20d%3D%22M12%202a7%207%200%200%200-7%207c0%205.25%207%2013%207%2013s7-7.75%207-13a7%207%200%200%200-7-7zm0%209.5A2.5%202.5%200%201%201%2012%206a2.5%202.5%200%200%201%200%205.5z%22%2F%3E%3C%2Fsvg%3E"); }
.dm-contact-overview .dm-office__contact-row[href^="tel:"] .dm-office__icon::before,
.dm-contact-overview .dm-office__contact-row[href^="mailto:"] .dm-office__icon::before,
.dm-contact-overview .dm-office__contact-row:not([href^="tel:"]):not([href^="mailto:"]) .dm-office__icon::before {
    content: "" !important;
    display: block !important;
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
    background: var(--dm-office-icon) center / 16px 16px no-repeat !important;
}
.dm-contact-overview .dm-office__contact-row[href^="tel:"] .dm-office__icon svg,
.dm-contact-overview .dm-office__contact-row[href^="mailto:"] .dm-office__icon svg,
.dm-contact-overview .dm-office__contact-row:not([href^="tel:"]):not([href^="mailto:"]) .dm-office__icon svg { display: none !important; }

/* Same location typography in German and English. */
.dm-contact-overview .dm-contact-overview__kicker,
.dm-contact-overview .dm-contact-overview__head p,
.dm-contact-overview .dm-office__address,
.dm-contact-overview .dm-office__address strong,
.dm-contact-overview .dm-office__address span,
.dm-contact-overview .dm-office__contact-text strong {
    font-size: 18px !important;
}
.dm-contact-overview .dm-contact-overview__head h2 { font-size: 31px !important; line-height: 1.1; }
.dm-contact-overview .dm-office__city h3 { font-size: 35px !important; line-height: 1; }
.dm-contact-overview .dm-office__city > div > span,
.dm-contact-overview .dm-office__contact-text small { font-size: 14px !important; }
@media (max-width: 700px) {
    .dm-contact-overview .dm-contact-overview__head h2 { font-size: 27px !important; }
}
@media (max-width: 400px) {
    .dm-contact-overview .dm-office__city h3 { font-size: 24px !important; }
}
