@charset "UTF-8";
:root {

    --dmi-blue: #165b97;
    --dmi-blue-dark: #0c4b82;
    --dmi-accent: #127aa8;
    --dmi-navy: #1a3a6b;

    --dmi-green: #4f761d;
    --dmi-green-dark: #446619;
    --dmi-red: #c0392b;
    --dmi-focus: #63c8ee;

    --dmi-zitat-farbe: #44c5f8;

    --dmi-text: #2e2e2e;

    --dmi-balken-breite: 8px;
    --dmi-balken-abstand: 20px;
    --dmi-text-muted: #6c6c6c;
    --dmi-text-muted-alt: #5c5c5c;

    --dmi-border: #cecece;
    --dmi-border-light: #e3e3e3;
    --dmi-border-soft: #d9e0ea;
    --dmi-schatten-karte: #cfdeea;
    --dmi-schatten-karte-gruen: #dde8cf;
    --dmi-line: #d7e3ee;
    --dmi-bg-light: #f4f8fb;
    --dmi-surface: #f6f9fc;

    --dmi-font-sans: 'Niveau Grotesk', Arial, sans-serif;
    --dmi-font-serif: 'Playfair Display', Georgia, serif;

    --dmi-form-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 15'%3E%3Cpath d='M2 2l5 5.5-5 5.5' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    --dmi-form-haken: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='3 2 17 16'%3E%3Cpath d='M3.5 10.2L6.2 7.6l3.1 4 7.3-8.6 2.8 2.2-9.8 11.4z' fill='%23000'/%3E%3C/svg%3E");
    --dmi-form-kalender: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 3h-1V1h-2v2H8V1H6v2H5a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2zm0 18H5V8h14v13z' fill='%23000'/%3E%3C/svg%3E");

    --dmi-form-pfeil: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 20'%3E%3Ccircle cx='10' cy='10' r='10' opacity='.2'/%3E%3Cpath d='M7 10H38M33 5l5 5-5 5' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E");

    --dmi-form-telefon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 54 54'%3E%3Cg transform='translate(0,54) scale(0.1,-0.1)'%3E%3Cpath d='M290 521 c0 -5 23 -17 50 -26 66 -22 133 -89 155 -155 19 -58 35 -73 35 -34 0 88 -134 224 -220 224 -11 0 -20 -4 -20 -9z M45 460 c-50 -52 -51 -92 -5 -188 77 -155 296 -306 381 -261 36 18 79 70 79 94 0 24 -88 115 -112 115 -9 0 -31 -12 -48 -26 l-31 -27 -41 30 c-23 16 -55 48 -71 71 l-31 42 27 28 c15 15 27 37 27 48 0 26 -90 114 -116 114 -11 0 -38 -18 -59 -40z m117 -35 c34 -37 34 -46 3 -75 -14 -13 -25 -29 -25 -35 0 -42 131 -175 172 -175 8 0 25 11 38 25 13 14 28 25 34 25 17 0 86 -73 86 -91 0 -25 -57 -69 -89 -69 -16 0 -60 16 -99 35 -114 58 -225 192 -247 302 -5 27 -1 38 31 72 40 45 41 45 96 -14z M285 431 c-3 -6 6 -16 22 -23 41 -17 83 -58 99 -97 10 -24 18 -31 25 -24 16 16 -12 73 -55 111 -20 17 -41 32 -46 32 -4 0 -15 3 -23 6 -8 3 -18 1 -22 -5z'/%3E%3C/g%3E%3C/svg%3E");
    --dmi-form-zitat: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 35'%3E%3Cpath d='M18.5 0C8.3 3.6 1.5 12 1.5 22.2 1.5 29.4 6.2 35 12.6 35c5.4 0 9.6-4 9.6-9.3 0-5.2-3.7-9-8.7-9-1 0-2.2.2-2.6.4 1.1-4.6 5-8.6 10-10.8L18.5 0zm22 0C30.3 3.6 23.5 12 23.5 22.2 23.5 29.4 28.2 35 34.6 35c5.4 0 9.6-4 9.6-9.3 0-5.2-3.7-9-8.7-9-1 0-2.2.2-2.6.4 1.1-4.6 5-8.6 10-10.8L40.5 0z' fill='%23000'/%3E%3C/svg%3E");
    --dmi-gap: 1.5rem;
}

.dmi-brand {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    line-height: 1;
    text-decoration: none;
}

.dmi-brand__signet {
    display: block;
    flex: 0 0 auto;
    height: 68px;
    width: auto;
}
.dmi-brand__bars   { fill: var(--brand-bars, var(--dmi-blue)); }
.dmi-brand__swoosh { fill: var(--brand-swoosh, var(--dmi-blue)); }

.dmi-responsive-logo a .dmi-brand__signet,
.dmi-phone-nav-tab .dmi-responsive-logo a .dmi-brand__signet,
.dmi-footer-brand .dmi-brand__signet {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
}

.dmi-brand__text { display: inline-flex; flex-direction: column; }

.dmi-brand__name {
    font-family: var(--dmi-font-serif);
    font-weight: bold;
    font-size: 34px;
    line-height: 1;
    letter-spacing: -0.01em;
    color: var(--brand-name, #16457b);
    white-space: nowrap;
}
.dmi-brand__tld {
    font-family: var(--dmi-font-sans);
    font-weight: 600;
    font-size: 15px;
    color: var(--brand-info, #34b2e9);
    vertical-align: top;
    position: relative;
    top: 2px;
    margin-left: 2px;
}
.dmi-brand__claim {
    font-family: var(--dmi-font-sans);
    font-weight: 600;
    font-size: 12.5px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--brand-claim, #8a8578);
    margin-top: 9px;
    white-space: nowrap;
}

.dmi-brand--info-bottom .dmi-brand__tld {
    vertical-align: bottom;
    top: auto;
    bottom: 2px;
}

.dmi-brand--compact { gap: 12px; }
.dmi-brand--compact .dmi-brand__signet { height: 46px; }
.dmi-brand--compact .dmi-brand__name   { font-size: 24px; }
.dmi-brand--compact .dmi-brand__tld    { font-size: 11px; top: 1px; }

.dmi-footer-brand .dmi-brand {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 10px;
}
.dmi-footer-brand .dmi-brand__text { align-items: center; }
.dmi-footer-brand .dmi-brand__signet { height: 58px; }

@media (max-width: 1300px) {
    .dmi-footer-brand .dmi-brand__signet { height: 50px; }
    .dmi-footer-brand .dmi-brand__name   { font-size: 21px; }
    .dmi-footer-brand .dmi-brand__tld    { font-size: 10px; }
}
@media (max-width: 1100px) {
    .dmi-footer-brand .dmi-brand__signet { height: 44px; }
    .dmi-footer-brand .dmi-brand__name   { font-size: 18px; }
    .dmi-footer-brand .dmi-brand__tld    { font-size: 9px; }
}

.dmi-brand--neg .dmi-brand__name   { color: #ffffff; }
.dmi-brand--neg .dmi-brand__claim  { color: rgba(255, 255, 255, 0.72); }
.dmi-brand--neg .dmi-brand__tld    { color: #7fd3f4; }
.dmi-brand--neg .dmi-brand__bars,
.dmi-brand--neg .dmi-brand__swoosh { fill: #ffffff; }

@media (max-width: 1199px) {
    .dmi-brand--full .dmi-brand__signet { height: 58px; }
    .dmi-brand--full .dmi-brand__name   { font-size: 29px; }
    .dmi-brand--full .dmi-brand__claim  { font-size: 11px; letter-spacing: 0.18em; }
}

.dmi-btn {
  display: inline-block;
  background: var(--dmi-accent);
  color: #fff;
  border: none;
  border-radius: 4px;
  padding: 0.75rem 1.75rem;
  font-family: var(--dmi-font-sans);
  font-weight: 600;
  letter-spacing: 0.03em;
  text-decoration: none;
  text-transform: uppercase;
  font-size: 0.85rem;
  cursor: pointer;
  transition: background-color 0.15s ease;

  max-width: 100%;
}

.dmi-btn:hover {
  background: var(--dmi-blue);
  color: #fff;
}

.dmi-btn--gruen { background: var(--dmi-green); }
.dmi-btn--gruen:hover { background: var(--dmi-green-dark); }

.dmi-btn--gross {
  font-size: 1.0625rem;
  padding: 1rem 1.75rem;
  border-radius: 4px;

  line-height: 1.4;
}
.dmi-btn img { vertical-align: middle; }

.dmi-btn--invers {
  background: #fff;
  color: var(--dmi-accent);
}
.dmi-btn--invers:hover {
  background: #e8f4fa;
  color: var(--dmi-blue-dark);
}

.dmi-btn--auf-dunkel:hover {
  background: #fff;
  color: var(--dmi-blue-dark);
}

.dmi-btn--umriss {
  background: #fff;
  color: var(--dmi-accent);
  border: 1px solid var(--dmi-accent);
}
.dmi-btn--umriss:hover {
  background: var(--dmi-accent);
  color: #fff;
}

.dmi-btn--breit { display: block; width: 100%; text-align: center; }

.dmi-btn--umriss-hell {
  background: transparent;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, .45);
}

.dmi-btn--umriss-hell:hover {
  background: transparent;
  border-color: #fff;
  color: #fff;
}

.dmi-btn:focus-visible {
  outline: 3px solid var(--dmi-focus);
  outline-offset: 3px;
}

.dmi-btn--outline {
  background: transparent;
  border: 1px solid var(--dmi-blue);
  color: var(--dmi-blue);
}

.dmi-btn--outline:hover {
  background: var(--dmi-blue);
  color: #fff;
}

.dmi-titel,
.dmi-inhalt :is(h1, h2, h3) {
  margin: 0;
  padding: 0;
  line-height: 1.1;
}

.dmi-titel,
.dmi-inhalt :is(h1, h2, h3),
.dmi-ratgeber-ablauf li::before { font-family: var(--dmi-font-serif); font-weight: 700; }

.dmi-afa-claim,
.dmi-consult-box p { font-family: var(--dmi-font-serif); }

.dmi-titel,
.dmi-inhalt :is(h1, h2, h3) { color: var(--dmi-text); }

.dmi-titel--balken {
  display: flex;

  align-items: baseline;
}
.dmi-titel--balken::before {
  content: "";
  display: block;
  flex: none;
  width: var(--dmi-balken-breite);
  align-self: stretch;
  background: var(--dmi-blue);
  margin-right: var(--dmi-balken-abstand);
}

.dmi-inhalt :is(h1, h2) {
  position: relative;
  padding-left: calc(var(--dmi-balken-breite) + var(--dmi-balken-abstand));
}
.dmi-inhalt :is(h1, h2)::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: var(--dmi-balken-breite);
  background: var(--dmi-blue);
}

.dmi-chevron-liste li {

  padding-left: 1em;
}
.dmi-chevron-liste li::before {
  content: "";

  display: inline-block;
  width: 0.62em;
  height: 0.94em;

  margin-left: -1em;
  margin-right: 0.38em;

  vertical-align: -0.15em;
  background-color: var(--dmi-chevron-farbe, var(--dmi-accent));
  -webkit-mask: var(--dmi-form-chevron) center / contain no-repeat;
  mask: var(--dmi-form-chevron) center / contain no-repeat;
}

.dmi-chevron-liste--gruen { --dmi-chevron-farbe: var(--dmi-green); }

.dmi-haken-liste li::before {
  content: "";
  flex: none;
  width: 1.1rem;
  height: 1.1rem;
  margin-top: 0.15rem;
  background-color: var(--dmi-blue-dark);
  -webkit-mask: var(--dmi-form-haken) center / contain no-repeat;
  mask: var(--dmi-form-haken) center / contain no-repeat;
}

.dmi-link,
.dmi-mehr,
.dmi-card__link,
.dmi-estate-card__btn a,
.dmi-ratgeber-karte__mehr {
  color: var(--dmi-blue);
  font-weight: 600;
  text-decoration: none;
}

.dmi-mehr::after,
.dmi-mehr--zurueck::before {
  content: "";
  display: inline-block;
  width: 0.5em;
  height: 0.75em;
  margin-left: 0.4em;
  vertical-align: -0.08em;
  background-color: currentColor;
  -webkit-mask: var(--dmi-form-chevron) center / contain no-repeat;
  mask: var(--dmi-form-chevron) center / contain no-repeat;
}
.dmi-mehr--zurueck::before {
  margin: 0 0.4em 0 0;
  transform: rotate(180deg);
}
.dmi-mehr--zurueck::after { content: none; }

.dmi-link:hover,
.dmi-mehr:hover,
.dmi-card__link:hover,
.dmi-estate-card__btn a:hover,
.dmi-ratgeber-karte:hover .dmi-ratgeber-karte__mehr {

  color: var(--dmi-link-hover, var(--dmi-blue-dark));
  text-decoration: underline;
}

.dmi-titel--gross  { font-size: 2.5rem; }

.dmi-titel--mittel,
.dmi-inhalt :is(h1, h2) { font-size: 1.875rem; }
.dmi-titel--klein  { font-size: 1.5rem; line-height: 1.25; }

.dmi-titel--klein.dmi-titel--balken::before { width: calc(var(--dmi-balken-breite) / 2); margin-right: 13px; }

.dmi-titel--hell { color: #fff; }
.dmi-titel--hell.dmi-titel--balken::before { background: #fff; }

.dmi-card {
  position: relative;
  background: #fff;
  border: 1px solid #e7e7e7;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.09);
  border-radius: 4px;
  overflow: hidden;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.dmi-card__img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  display: block;
}

.dmi-card__body {
  padding: 1.25rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.dmi-card__body h3 {
  font-size: 1.1rem;
  line-height: 1.2;
  margin: 0 0 0.75rem;
}

.dmi-card__body h3 a {
  color: inherit;
  text-decoration: none;
}

.dmi-card__body h3 a:hover {
  color: var(--dmi-blue);
}

.dmi-card__link {
  margin-top: auto;
}

.dmi-card__link::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}

.dmi-card__meta {
  font-size: 0.75rem;
  color: var(--dmi-text-muted);
  margin-bottom: 0.5rem;
}

.dmi-card__meta::before {
  content: "";
  display: inline-block;
  width: 0.95em;
  height: 0.95em;
  margin-right: 0.4em;
  vertical-align: -0.15em;
  background-color: currentColor;
  -webkit-mask: var(--dmi-form-kalender) center/contain no-repeat;
  mask: var(--dmi-form-kalender) center/contain no-repeat;
}

.dmi-card,
.dmi-estate-card,
.dmi-ratgeber-karte {
  transition: border-color 0.3s, box-shadow 0.3s;
}

.dmi-card:hover,
.dmi-estate-card:hover,
.dmi-ratgeber-karte:hover {
  border-color: var(--dmi-karte-rand-hover, var(--dmi-blue));
  box-shadow: 10px 10px 25px var(--dmi-karte-schatten-hover, var(--dmi-schatten-karte));
}

.dmi-telefon-zeichen {
  display: block;
  align-self: center;
  flex: none;
  width: 58px;
  height: 58px;
  margin-right: 15px;
  background-color: var(--dmi-blue);
  -webkit-mask: var(--dmi-form-telefon) center / contain no-repeat;
  mask: var(--dmi-form-telefon) center / contain no-repeat;
}

.dmi-pflegemarke {
  display: flex;
  align-items: center;
  gap: 0.66em;
  font-size: 16px;
  line-height: 1;
  white-space: nowrap;
}

.dmi-pflegemarke img { display: block; width: 32px; }

.dmi-pflegemarke .wort-pflege { font-family: "Proxima Nova Pflegemarke", var(--dmi-font-sans); color: #777; }
.dmi-pflegemarke .wort-kapitalanlage { font-family: "Open Sans", Arial, sans-serif; font-weight: 700; color: #81be32; }

.dmi-pflegemarke--hoch { flex-direction: column; gap: 0.75em; font-size: 17px; }
.dmi-pflegemarke--hoch img { width: 9.4em; }

.dmi-estate-card--pflege {
  --dmi-karte-rand-hover: var(--dmi-green);
  --dmi-karte-schatten-hover: var(--dmi-schatten-karte-gruen);
  --dmi-link-hover: var(--dmi-green-dark);
}

.dmi-zitatzeichen {
  display: inline-block;

  vertical-align: top;
  width: 44px;
  height: 35px;
  background-color: var(--dmi-zitat-farbe);
  -webkit-mask: var(--dmi-form-zitat) center/contain no-repeat;
  mask: var(--dmi-form-zitat) center/contain no-repeat;
}
