@charset "UTF-8";
/*
Theme Name: Dr. Müller 2024
Theme URI:
Author: Andreas Meier, Kentro Design
Author URI: https://www.kentro-design.de
Description: Kentro Design Theme Dr. Müller
Version: 1.0
Tags: white, blue, raspberry
Text Domain: drmueller
*/

/*
	
	Inhalt:
	
	CSS RESET
	VARIABLES
	FONTS AND ICONS
	
	AREAS
	BASIC CONTAINERS
	GENERAL HTML TAGS
	CUSTOM CLASSES
	
	HEADER
	NAVIGATION
	
	CONTENT
	- layout allgemein
	- spalten
	- text
	- links
	- listen
	- buttons
	- icons
	- bilder
	- plug-ins
	KD-BlÖCKE
	- kd-highlight
	- kd-3-spalten
	- kd-3-spalten-flexibel
	- kd-4-spalten
	- kd-hellblau, kd-hellgraublau
	- kd-ganze-breite-halbiert
	- kd-bild-ganze-breite
	- kd-hero-text
	- kd-inhalt-schmaler
	- kd-rechtstext
	
	SIDEBAR
	FOOTER
	
	RESPONSIVENESS 100 rem / 1600 px
	RESPONSIVENESS 88 rem / 1408 px
	RESPONSIVENESS 75 rem / 1200 px
	RESPONSIVENESS 65 rem / 1040 px
	RESPONSIVENESS 40 rem / 640 px
	RESPONSIVENESS 27 rem / 432 px
	RESPONSIVENESS 22.5 rem / 360 px
	
	PRINT	
	
*/

/* ========================================================================== */
/* !CSS RESET ---------------------------------------- */
/* ========================================================================== */

/* normalize.css v1.0.1 | MIT License | git.io/normalize */

article, aside, details, figcaption, figure, footer, header, hgroup, nav, section, summary {
    display: block;
}

audio, canvas, video {
    display: inline-block;
    *display: inline;
    *zoom: 1;
}

audio:not([controls]) {
    display: none;
    height: 0;
}

[hidden] {
    display: none;
}

html {
    font-size: 100%;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
}

html, button, input, select, textarea {
    font-family: sans-serif;
}

body {
    margin: 0;
}

a:focus {
    outline: thin dotted;
}

a:active, a:hover {
    outline: 0;
}

abbr[title] {
    border-bottom: 1px dotted;
}

b, strong {
    font-weight: bold;
}

blockquote {
    margin: 1em 40px;
}

dfn {
    font-style: italic;
}

mark {
    background: #ff0;
    color: #000;
}

p, pre {
    margin: 1em 0;
}

code, kbd, pre, samp {
    font-family: monospace,serif;
    _font-family: 'courier new',monospace;
    font-size: 1rem;
}

pre {
    white-space: pre;
    white-space: pre-wrap;
    word-wrap: break-word;
}

q {
    quotes: none;
}

q:before, q:after {
    content: '';
    content: none;
}

small {
    font-size: 80%;
}

sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sup {
    top: -0.5em;
}

sub {
    bottom: -0.25em;
}

dl, menu, ol, ul {
    margin: 1em 0;
}

dd {
    margin: 0 0 0 40px;
}

menu, ol, ul {
    padding: 0 0 0 40px;
}

nav ul, nav ol {
    list-style: none;
    list-style-image: none;
}

img {
    border: 0;
    -ms-interpolation-mode: bicubic;
}

svg:not(:root) {
    overflow: hidden;
}

figure {
    margin: 0;
}

form {
    margin: 0;
}

fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: .35em .625em .75em;
}

legend {
    border: 0;
    padding: 0;
    white-space: normal;
    *margin-left: -7px;
}

button, input, select, textarea {
    font-size: 100%;
    margin: 0;
    vertical-align: baseline;
    *vertical-align: middle;
}

button, input {
    line-height: normal;
}

button, html input[type="button"], input[type="reset"], input[type="submit"] {
    -webkit-appearance: button;
    cursor: pointer;
    *overflow: visible;
}

button[disabled], input[disabled] {
    cursor: default;
}

input[type="checkbox"], input[type="radio"] {
    box-sizing: border-box;
    padding: 0;
    *height: 13px;
    *width: 13px;
}

input[type="search"] {
    -webkit-appearance: textfield;
    box-sizing: content-box;
}

input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

button::-moz-focus-inner, input::-moz-focus-inner {
    border: 0;
    padding: 0;
}

textarea {
    overflow: auto;
    vertical-align: top;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}




    
/* ========================================================================== */
/* ! VARIABLES ---------------------------------------- */
/* ========================================================================== */

/* font sizes */

:root {
  --fs-xs: .875rem; /* 14 px */
  --fs-s: 1rem; /* 16 px */
  --fs-base: 1.1875rem; /* 19 px */
  --fs-4: 1.1875rem; /* 19 px */
  --fs-3: 1.5rem; /* 24 px */
  --fs-2: 2rem; /* 32 px */
  --fs-1: 2.875rem; /* 46 px */
}

/* < 1200 px */
@media screen and (max-width: 75rem) {
:root {
	--fs-xs: .8125rem; /* 13 px */
	--fs-s: 1.125rem; /* 18 px */
	--fs-base: 1.125rem; /* 18 px */
	--fs-4: 1.1875rem; /* 19 px */
	--fs-3: 1.5rem; /* 24 px */
	--fs-2: 1.875rem; /* 30 px */
	--fs-1: 2.625rem; /* 42 px */
  }
}

/* < 640 px */
@media screen and (max-width: 40rem) {
:root {
	--fs-xs: .8125rem; /* 13 px */
	--fs-s: 1.0625rem; /* 17 px */
	--fs-base: 1.0625rem; /* 17 px */
	--fs-4: 1.1875rem; /* 19 px */
	--fs-3: 1.5rem; /* 24 px */
	--fs-2: 1.75rem; /* 28 px */
	--fs-1: 2.25rem; /* 36 px */
  }
}

/* colors */

:root {
    --color-main: hsla(205, 100%, 34%, 1); /* mittelblau */
	--color-text: hsla(0, 0%, 40%, 1); /* anthrazit */
	--color-text-bold: hsla(0, 0%, 40%, 1); /* anthrazit */
	--color-text-light: hsla(0, 0%, 40%, .6); /* hell anthrazit */
	--color-breadcrumb: hsla(0, 0%, 40%, 1); /* anthrazit */
	--color-negative: #fff; /* weiß */
	
	--color-link: hsla(350, 95%, 70%, 1); /* himbeer */
	--color-link-visited: hsla(350, 95%, 70%, .5); /* link heller */
	--color-link-hover: hsla(350, 95%, 55%, 1); /* link dunkler */
    
    --color-bg-1: #e5f0f7; /* hellblau */
	--color-bg-2: #7fb3d7; /* hellmittelblau */
	--color-bg-3: #eeeeee; /* hellgrau */
	
	--color-td-odd: hsla(205, 100%, 34%, .1); /* hellblau */
	--color-td-even: #fff;
}





/* ========================================================================== */
/* ! FONTS UND ICONS ---------------------------------------- */
/* ========================================================================== */

/* regular */
@font-face {
  font-display: swap;
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/figtree-v5-latin-regular.woff2') format('woff2');
}

/* italic */
@font-face {
  font-display: swap;
  font-family: 'Figtree';
  font-style: italic;
  font-weight: 400;
  src: url('fonts/figtree-v5-latin-italic.woff2') format('woff2');
}

/* semibold */
@font-face {
  font-display: swap;
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 600;
  src: url('fonts/figtree-v5-latin-600.woff2') format('woff2');
}

/* semibold italic */
@font-face {
  font-display: swap;
  font-family: 'Figtree';
  font-style: italic;
  font-weight: 600;
  src: url('fonts/figtree-v5-latin-600italic.woff2') format('woff2');
}



/* svg icons */
.icon {
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  stroke-width: 0;
  stroke: currentColor;
  fill: currentColor;
}

a.icon,
a.icon:visited,
a.icon:hover,
a.icon:active {
    border-bottom: none;
}

.icon svg {
    width: 2em;
    height: 2em;
}





/* ========================================================================== */
/* ! AREAS ---------------------------------------- */
/* ========================================================================== */

/* .site-header */
.site-header {
  	position: relative;
	height: 390px;
	margin: 0 auto;
	width: 100%;
	z-index: 9999;    
}

/* .site-content */
.site-content,
.site-footer {
    display: flex;
    background-color: #fff;
    flex: 1 0 auto;
    padding: 2rem 0 3rem;
    width: 100%;
}

.site-content {
	background-color: #fff;
	padding-top: 0;
}

/* .site-footer */
.site-footer {
    background-color: var(--color-bg-2);
    padding: 2rem 0 .5rem;
}

.site-header::after,
.site-content::after,
.site-footer::after {
    content: " ";
    display: block;
    height: 0;
    margin-top: 1.5em;
    visibility: hidden;
}

/* layout-basics */
.container {
    margin-right: auto;
    margin-left: auto;
    width: 80rem;
}

.row {
    display: flex;
    flex: 0 1 auto;
    flex-direction: row;
    flex-wrap: wrap;
    padding-left: -1rem;
    padding-right: -1rem;
}

.center {
    justify-content: center;
    text-align: center;
}

.middle {
    align-items: center;
}

.bottom {
    align-items: flex-end;
}

.around {
    justify-content: space-around;
}

.between {
    justify-content: space-between;
}

.first {
    order: -1;
}

.last {
    order: 1;
}
    




/* ========================================================================== */
/* ! BASIC CONTAINERS ---------------------------------------- */
/* ========================================================================== */

.header-wrap,
.content-wrap,
.footer-wrap {
    padding: 0 1em;
}

.main-wrap {
    flex: 0 0 auto;
    flex-basis: 100%;
    max-width: 100%;
}

.container > header,
.container > footer {
    display: flex;
    flex: 0 1 auto;
}

.main {
    display: flex;
}

.footer-wrap {
    display: flex;
    flex-wrap: wrap;
}
    




/* ========================================================================== */
/* ! GENERAL HTML TAGS ---------------------------------------- */
/* ========================================================================== */

*,
*::after,
*::before {
    box-sizing: border-box;
}

/* glatteres scrollen */
html {
	scroll-behavior: smooth;
}

body {
    background-color: #fff;
    color: var(--color-text);
    font-size: var(--fs-base);
	font-family: "Figtree", Arial, sans-serif;
    font-weight: 400;
	
    -webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-smoothing: antialiased;
	font-smooth: always;
    text-rendering: optimizeLegibility;
	
	height: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: var(--color-main);
    font-size: var(--fs-3);
    font-family: "Figtree", Arial, sans-serif;
    font-weight: 600;
	-ms-hyphens: none;
	-webkit-hyphens: none;
	hyphens: none;
    line-height: 1.3;
    margin: 2em 0 .4em;
    word-wrap: break-word;
}

h1 {
    font-size: var(--fs-1);
	font-family: "Figtree", Arial, sans-serif;
	font-weight: 400;
    line-height: 1.2;
    margin-bottom: 1em;
    margin-top: 1.5em;
}

h2 {
    font-size: var(--fs-2);
	font-family: "Figtree", Arial, sans-serif;
	font-weight: 400;
	margin-bottom: .5em;
}

article > h2 {
	margin-bottom: 1.5em;
	text-align: center;
}

h1 + h2 {
    margin-top: 0;
	margin-bottom: 2em;
}

h1 + .wp-block-columns {
	margin-top: 0;
}

h2 + h3 {
    margin-top: 1em;
}

h3 {
    font-size: var(--fs-3);
	font-weight: 400;
	margin-bottom: .75em;
}

h4,
h5,
h6 {
	font-size: var(--fs-4);
}

h4 {
    margin-bottom: .2em;
    margin-top: 1.5em;
}

h5,
h6 {
    margin-bottom: 0;
    margin-top: 1.25em;
}

.site-content h1 a,
.site-content h2 a,
.site-content h3 a,
.site-content h4 a,
.site-content h5 a,
.site-content h6 a,
.site-content h1 a:hover,
.site-content h2 a:hover,
.site-content h3 a:hover,
.site-content h4 a:hover,
.site-content h5 a:hover,
.site-content h6 a:hover,
.site-content h1 a:visited,
.site-content h2 a:visited,
.site-content h3 a:visited,
.site-content h4 a:visited,
.site-content h5 a:visited,
.site-content h6 a:visited {
    background: transparent;
    border-bottom: none;
    color: var(--color-main);
    text-decoration: none;
}

p,
ul,
ol {
  font-size: var(--fs-base);
  line-height: 1.6;
  margin: 0 0 1.5em;
}

p:empty {
    display: none;
}

strong {
    color: var(--color-main);
    font-family: "Figtree", Arial, sans-serif;
	font-weight: 600;
}

em {
    font-family: "Figtree", Arial, sans-serif;
    font-style: italic;
}

ul,
ol,
dl,
menu {
    margin-left: 0;
    padding-left: 0;
}

ul li,
ol li {
    padding-bottom: .5em;
    padding-left: 1.2em;
}

ul li ul,
ol li ol,
ul li ol,
ol li ul {
	margin-bottom: 0;
	padding-bottom: 0;
	padding-top: .5em;
}

ul li::before {
	/* achtung: die farbe muss der einfachheit halber direkt im svg gesetzt werden */	
	content: '';
    display: inline-block;
    height: 14px;
    width: 8px;
    background-image: url('icons/icon-circle.svg');
    background-size: contain;
    background-repeat: no-repeat;
	background-position: 0 4px;
    margin-right: .6em;
    margin-left: -1.1em;
}
	
ol {
    list-style-position: inside;
}
    
ol li {
    text-indent: -1.2em;
    margin-left: .8em;
}

ul li {
    list-style-type: none;
}

dt {
    font-style: bold;
}

dd {
    font-style: italic;
    margin-left: 0;
    padding-left: 0;
}

sup {
    font-size: .65em;
}

address {
    font-style: normal;
}

table {
    border-collapse: collapse;
    border-spacing: 5px;
    color: #333;
    margin: 2em 0;
}

tr:nth-child(odd) {
    background-color: var(--color-td-odd);
}

tr:nth-child(even) {
    background-color: var(--color-td-even);
}

td,
th {
    border-top: 1px solid var(--color-text-light);
    padding-left: 0;
    text-align: left;
    vertical-align: top;
}

td {
    border-right: 0.5em solid var(--color-negative);
    padding: .3em .5em;
}

tr:last-of-type {
	border-bottom: 1px solid var(--color-text-light);
}

th {
    border-right: 0.3125em solid var(--color-negative);
    color: #333;
    padding: .2em .5em;
}
    
th.sub {
    font-weight: normal;
}

th.left,
td.left {
    padding-left: .625em;
    text-align: left;
}

fieldset {
    background-color: var(--color-negative);
}

legend {
    padding-top: 2em;
}

form label {
    cursor: pointer;
    display: block;
    margin: 1.25em 0 -0.625em;
}

textarea,
input,
select {
    font-size: 1rem;
    background: #fff;
    border: #ccc solid 1px;
    border-radius: .4em;
    box-shadow: inset 1px 1px 3px rgba(0, 0, 0, 0.3);
    color: #333;
    font-family: "Figtree", Arial, sans-serif;
	font-weight: 400;
    padding: .15em .3em .05em;
}

input#reset,
input#submit {
    background: none;
    margin: 1.25em 1.25em 0 0;
    width: auto;
}

select {
    font-size: 1rem;
    padding: .3em 0 .3em .5em;
}

optgroup {
    font-style: normal;
}

input[type="radio"],
input[type="checkbox"] {
    margin-right: .3125em;
}

img {
    font-size: var(--fs-s);
    border: none;
    float: left;
    margin: .3125em 0 1.5625em;
    max-width: 100%;
    height: auto;
}

abbr[title] {
/*     cursor: help; */
    display: inline-block;
    line-height: 1;
    padding-bottom: 1px;
    text-decoration: none;
}

a,
a strong {
    border-bottom: 1px solid transparent);
    color: var(--color-link);
    -webkit-hyphens: none;
    -ms-hyphens: none;
    hyphens: none;
    line-height: 1;
    text-decoration: none;
/*     transition: all 0.3s ease-in-out; */
}
    
a:visited,
a:hover,
a:active {
	border-bottom: none;
	text-decoration: none;
}

a:visited,
a:visited strong {
	border-bottom: 1px solid var(--color-link);
	color: var(--color-link);
}
    
a:hover {
	border-bottom: 1px solid var(--color-text);
	color: var(--color-text);
}

a:active {
	
}

a[href^="clockto:"] {
    
}

a[href^="tel:"] {
    
}

a.thumb,
a.inline {
    display: inline;
}

a.svg-item:after {
    /* content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0; */
}

a.svg-item {
    border-bottom: none;
}

a:has(img) {
	border-bottom: none;
}

/* anker-links etwas verschieben, um verdecken durch fixed header zu vermeiden */
:target:before {
	content: "";
	display: block;
	height: 100px;
	margin: -100px 0 0;
}

/* Auswahlfarbe Safari */
::selection {
    background: #fdecd9;
}
    
/* Auswahlfarbe Firefox */
::-moz-selection {
    background: #fdecd9;
}

.icon-alone {
    display: inline-block;
}

a.icon-alone:hover,
a.icon-alone:hover {
    border-bottom: none;
}

object {
    width: 100%;
}





/* ========================================================================== */
/* ! CUSTOM CLASSES ---------------------------------------- */
/* ========================================================================== */

/* kd wp-classes */
.kd-kein-abstand-oben,
.alignfull.kd-kein-abstand-oben,
.wp-block-group.kd-kein-abstand-oben
.wp-block-columns.kd-kein-abstand-oben {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

.kd-abstand-unten {
	margin-bottom: 3em !important;
}

.kd-3-spalten p.kd-abstand-unten {
	margin-bottom: 2em;
}

.kd-kein-abstand-unten {
	margin-bottom: 0 !important;
}

.kd-engerer-abstand-unten {
	margin-bottom: .25em !important;
}

.kd-abstand-innen {
	padding: 6rem;
}

.kd-abstand-innen-gross {
	padding: 12rem;
}

.kd-keine-trennungen {
	display: inline-block;
	-ms-hyphens: none;
	-webkit-hyphens: none;
	hyphens: none !important;
}

.kd-trennungen {
	-ms-hyphens: auto;
	-webkit-hyphens: auto;
	hyphens: auto;
}

.kd-einzug {
	padding-left: 6rem;
}

.kd-text-klein {
	font-size: var(--fs-s);
}

p.kd-text-kleiner,
ul.kd-text-kleiner {
	font-size: var(--fs-s);
}

p.kd-text-groesser,
ul.kd-text-groesser {
	font-size: var(--fs-3);
}

/* block mit css in zwei spalten geteilt */
p.kd-aufgeteilt,
ul.kd-aufgeteilt {
	column-count: 2;
	column-gap: 60px; /* margin-right von .wp-block-column * 2 */
	margin-bottom: 4rem;
}

ul.kd-aufgeteilt li {
	break-inside: avoid;
}


    
/* ========================================================================== */
/* ! HEADER ---------------------------------------- */
/* ========================================================================== */

/* !Wrapper-Lösung für Sticky Footer bei wenig Content -------------------- */
.wrapper {
	min-height: 100vH;
    display: flex;
    flex-direction: column;
}

.site-header,
.site-footer {
	/* flex-shrink: 0;
	flex-grow: 0; */
}

.site-content {
	flex: 1;
}
/* Ende Wrapper-Lösung für Sticky Footer bei wenig Content -------------------- */


.site-header .container {
	position: relative;
}

.site-header .row {
    display: block;
	position: relative;
	text-align: center;
	width: 100%;	
}

.topbar {
	background-color: var(--color-link);
	border-radius: 0 0 8px 8px;
	padding: .4em 1.2em .4em 3em;
	position: absolute;
	right: 0;
	top: 0;
	transition: all 0.3s ease-in-out;
	z-index: 1000;
}

.topbar ul {
	font-size: 1.125rem;
	font-weight: 600;
	margin: 0;
	padding: 0;
}

.topbar li {
	float: left;
	padding: 0;
}

.topbar li:first-of-type {
	padding-right: 3.8em;
}

.topbar li a {
	color: var(--color-negative);
	position: relative;
}

.topbar li a:hover {
	border-bottom: none;
}

.topbar ul li::before {
	background-image: none;
}

.topbar li a::before {
	/* achtung: die farbe muss der einfachheit halber direkt im svg gesetzt werden */	
	position: absolute;
	left: -32px;
	top: 3px;
	
	content: '';
	display: inline-block;
	height: 22px;
	width: 22px;
	background-size: contain;
	background-repeat: no-repeat;
}

.topbar li a[href^="tel:"]::before {
	background-image: url(https://www.lungenpraxis-mueller.de/wp-content/themes/drmueller-lungenpraxis-2024/icons/icon-phone.svg);
	top: 1px;
}

.topbar li a[href*="#terminbuchung"]::before {
	background-image: url(https://www.lungenpraxis-mueller.de/wp-content/themes/drmueller-lungenpraxis-2024/icons/icon-calendar.svg);
	top: 1px;
}

.topbar li span.mobile-text {
	display: none;
}

.logo {
	display: block;
	padding: 4rem 0 2rem;
	text-align: center;
	transition: all 0.3s ease-in-out;
	margin: 0 auto;
	width: 300px;
	z-index: 500;
}

/* .logo svg {
	transition: all 0.3s ease-in-out;
	margin: 0;
	width: 300px;
} */

/* sticky header */
.site-header.sticky {
	position: fixed;
	
	background-color: var(--color-negative);
	box-shadow: 0px 15px 15px rgba(0, 0, 0, 0.1);
	height: 90px; 
	transition: all 0.3s ease-in-out;
}

.site-header.sticky .topbar {
	top: -50px;
}

.site-header.sticky .logo {
	padding: 1rem 0 0;
	margin-bottom: 0;
	margin-top: -3.8rem;
	z-index: 0;
}

.site-header.sticky .logo svg {
	height: 84px;
	width: 200px;
	margin: 0;
}

/* svg-logo elemente ein- und ausblenden */
.site-header .logo #lunge,
.site-header .logo #lungenpraxis {
	opacity: 1;
	transition: all 0.3s ease-in-out;
}

.site-header.sticky .logo #lunge,
.site-header.sticky .logo #lungenpraxis {
	opacity: 0;
}

.site-header.sticky + .site-content {
	margin-top: 380px;
}





/* ========================================================================== */
/* ! NAVIGATION ---------------------------------------- */
/* ========================================================================== */

/* smartphone-menu */
/* menu icon, wird dynamisch per js eingefügt */
#menu-icon {
    display: none;
}

ul.widget {
    margin-top: 0;
}

/* main navigation */
.nav-wrap {
    transition: top 0.3s ease-in-out;
	z-index: 1100;
}

.nav-wrap ul {
    display: flex;
	justify-content: center;
	font-size: 1.125rem;
	letter-spacing: .04em;
    line-height: 1.2;
    margin: 0;
	width: 100%;
}

ul.nav > li {
    padding: .5em .75em;
    position: relative;
}

ul.nav li:before {
	background-image: none;
	content: '';
	display: none;
}

ul.nav a {
    border-bottom: 1px solid transparent;
    color: var(--color-link);
	font-weight: 400;
	letter-spacing: .05em;
	padding-bottom: 3px;
    text-transform: uppercase;
	transition: all 0.2s ease-in-out;
}

ul.nav > li:last-of-type > a {
    padding-right: 0;
}

.nav-main a:focus,
.nav-main .current-page-item > a,
.nav-main .current-page-ancestor > a {
    /* color: var(--color-link); */
}

.nav-main li:hover > a,
.nav-main .current-page-item > a:hover,
.nav-main .current-page-ancestor > a:hover {
    border-bottom: 1px solid var(--color-link);
    color: var(--color-link);
}

.nav-main .current-menu-item > a,
.nav-main .current-page-ancestor > a {
	border-bottom: 1px solid var(--color-link);
    color: var(--color-link);
}

.nav-main .current-menu-item > a:hover,
.nav-main .current-page-ancestor > a:hover,
ul.nav a:hover {
    border-bottom: 1px solid var(--color-link);
    color: var(--color-link);
}

ul.sub-menu {
    position: absolute;
	top: 2.1em;
	left: -1em;
	
	background-color: var(--color-negative);
    box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.2);
    border-radius: 3px;
    display: block;
	opacity: 0;
    padding-top: .5em;
	padding-bottom: .7em;
	text-align: left;
    visibility: hidden;
    width: 200px;
    z-index: -1;
}

ul.nav li:hover .sub-menu {
    opacity: 1;
    pointer-events: all;
    visibility: visible;
    z-index: 1;
}

.sub-menu li {
    padding: .65em 1.5em;
}

.sub-menu li a {
    color: var(--color-link);
    letter-spacing: unset;
	padding: 0;
	text-transform: unset;
}

/* !breadcrumb ---------------------------------------- */
.breadcrumb {
	margin-bottom: 1em;
}

.breadcrumb p {
	font-size: var(--fs-xs);
	color: var(--color-breadcrumb);
	-webkit-hyphens: none;
	-ms-hyphens: none;
	hyphens: none;
	margin-bottom: .5em;
}

.breadcrumb span {
	color: var(--color-breadcrumb);
	font-size: var(--fs-xs);
}

.site-content .breadcrumb a {
	border-bottom: 1px solid #fff;
	color: var(--color-breadcrumb);
	padding-bottom: .05em;
}

.site-content .breadcrumb a:hover {
	border-bottom: 1px solid var(--color-breadcrumb);
}

.site-content .breadcrumb .current {
	color: var(--color-breadcrumb);
}

span.separator {
	margin-left: .2em;
	margin-right: .2em;
}

span.separator::before {
	font-size: var(--fs-s);
	content: '›'; 
	color: var(--color-breadcrumb);
}



/* ========================================================================== */
/* ! CONTENT ---------------------------------------- */
/* ========================================================================== */

/* layout allgemein  ------------------------------------------------------- */
.container-main {
	margin-top: 0;
	position: relative;
}

article {
    margin-bottom: 1.5em;
    width: 100%;
}

article > :first-child {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

h1 span,
h2 span,
h3 span,
h4 span,
h5 span,
h6 span {
	display: inline-block;
}

h1 + .wp-block-group {
	margin-top: 0;
}

/* spalten ------------------------------------------------------- */   
.wp-block-group {
	display: flex;
}

.wp-block-group,
.wp-block-columns {
	margin-top: 10rem;
	margin-bottom: 10rem;
}

.wp-block-group.kd-block-kein-abstand {
	margin-top: 0;
	margin-bottom: 0;
}

.kd-block-kein-abstand .wp-block-group__inner-container h3 {
	margin-top: 0;
}

.wp-block-group__inner-container {
	display: flex;
	flex-flow: row wrap;
	align-items: flex-start;
	justify-content: space-between;
	width: 100%;
}

.wp-block-columns {
	width: 100%;
}

.wp-block-columns.mittig {
	align-items: center;
}

h2 + .wp-block-columns {
	margin-top: 2em;
}

h2 + .wp-block-group .wp-block-group__inner-container .wp-block-columns {
	margin-top: 0;
}

:where(.wp-block-columns.is-layout-flex) {
	gap: 4em !important;
}

.wp-block-column:not(:last-child) {
	margin-right: 30px;
}

.wp-block-column:nth-child(2n+1) {
	margin-right: 30px;
}

/* .wp-block-column:not(:first-child), 
.wp-block-column:nth-child(2n) {
	margin-left: 30px;
} */

.wp-block-column:last-child {
	margin-right: 0;
}

.wp-block-column p:last-child {
	margin-bottom: 0;
}


/* wp flex ausschalten  ------------------------------------------------------- */
.no-flex .wp-block-group__inner-container {
	display: block;
}


/* text  ------------------------------------------------------- */
body.home h1 {
	margin-top: 0;
}

h3 + .wp-block-columns {
	margin-top: 1.5em;
}

.site-content p {
	/* -webkit-hyphens: none;
	-ms-hyphens: none;
	hyphens: none; */
}

.kd-3-spalten p {
	-ms-hyphens: auto;
	-webkit-hyphens: auto;
	hyphens: auto;
}

.site-content a {
	/* border-bottom: 1px solid var(--color-link); */
	font-weight: 600;
}

.site-content a:hover {
	color: var(--color-link-hover);
	border-bottom: 1px solid var(--color-link-hover);
}

.site-content figure a,
.site-content figure a:hover,
.site-content figure a:active {
	border-bottom: none;
}

p.mehr {
	margin-top: -.5em;
}

.kd-vertikal-mittig {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.kd-vertikal-mittig .wp-block-group .wp-block-group__inner-container {
	flex-direction: column;
}

.kd-vertikal-mittig .wp-block-group {
	margin-top: 3rem;
	margin-bottom: 3rem;
}

/* home: text läuft eingezogen über bild */
.kd-text-einzug-overlay {
	margin-left: -20%;
	padding-right: 30%;
	z-index: 100;
}

.kd-text-einzug-overlay h1,
.kd-text-einzug-overlay p {
	background-color: rgba(229, 240, 247, .6);
	padding: 20px;
}

.kd-text-einzug-overlay h1 {
	margin-bottom: 0;
}

/* .kd-rand-overlay {
	position: relative;
}

.kd-rand-overlay::after {
	position: absolute;
	content: '';
	background-color: rgba(255,255,255,.3);	
	top: 0;
	right: 0;
	width: 20%;
	height: 100%;
} */

.wp-block-column > h2,
.wp-block-column > h3 {
	margin-top: 4rem;
}

.wp-block-column > h4,
.wp-block-column > h5,
.wp-block-column > h6 {
	margin-top: 2rem;
}

.wp-block-column > h2:first-child,
.wp-block-column > h3:first-child,
.wp-block-column > h4:first-child,
.wp-block-column > h5:first-child,
.wp-block-column > h6:first-child {
	margin-top: 0;
}

/* blockquote */
.wp-block-quote p {
	color: var(--color-main);
	font-family: "Bodoni", Times, "Times New Roman", serif;
	font-style: italic;
	font-weight: 400;
	font-size: var(--fs-4);
	-webkit-hyphens: none;
	-ms-hyphens: none;
	hyphens: none;
	line-height: 1.4;
	margin-bottom: .5em;
}

.wp-block-quote cite {
	font-size: var(--fs-s);
	line-height: 1.4;
}

blockquote.wp-block-quote {
	border: none;
	margin: 2em 0;
	padding-left: 30px;
}

blockquote {
	position: relative;
}

blockquote::before {
	content: '„';
	display: inline-block;
	font-family: "Bodoni", Times, "Times New Roman", serif;
	font-style: italic;
	font-weight: 400;
	font-size: var(--fs-2);
	position: absolute;
	top: -38px;
	left: 0;
}

.wp-block-pullquote p {
	font-size: var(--fs-4);
	line-height: 1.5;
	margin-bottom: .7em;
}

/* tabellen */
.wp-block-table table {
	color: var(--color-text);
	font-size: var(--fs-base);
}

.wp-block-table table strong {
	color: var(--color-main);
}

.wp-block-table td, 
.wp-block-table th {
	background-color: var(--color-negative);
	border-top: 1px solid var(--color-text-light);
	border-bottom: 1px solid var(--color-text-light);
	border-left: unset;
	border-right: unset;
	line-height: 1.4;
	padding: .5em 0 .5em 1em;
}

.wp-block-table td:first-of-type {
	padding-left: 0;
}

.wp-block-table.kd-kontakttabelle td:not(:first-of-type) {
	/* text-align: right; */
}

.wp-block-table tr:nth-child(2n) {
	/* background-color: #fafafa; */
}

.wp-block-table tr:nth-child(2n+1) {
	/* background-color: var(--color-bg-1); */
}

figure + p.kd-tabellenzusatz {
	margin-top: -40px;
}


/* links  ------------------------------------------------------- */
.link-text a {
	border-bottom: 1px solid transparent;
	color: var(--color-text);
}

.link-text a:hover {
	border-bottom: 1px solid var(--color-text);
	color: var(--color-text);
}


/* listen  ------------------------------------------------------- */
ul.kd-linkliste li {
	padding-left: 0;
	padding-bottom: .25em;
}

ul.kd-linkliste li::before {
	background-image: none;
}

ul.kd-linkliste li a::before {
	content: '» ';
}

ul.kd-liste-kleinbuchstaben {
	list-style-type: lower-latin;
}

ol.kd-farbnummern {
	list-style: none;
	counter-reset: my-counter;
}

ol {
	list-style-position: outside;
}

ol li {
  padding-left: .3em;
  margin-left: 1em;
  text-indent: 0;
}

ol.kd-farbnummern li {
	counter-increment: my-counter;
}

ol.kd-farbnummern li::before {
	content: counter(my-counter) ". ";
	color: var(--color-main);
	font-family: "Figtree", Arial, sans-serif;
	font-weight: 600;
}


/* buttons ------------------------------------------------------- */
.wp-block-buttons {
	/* betrifft den gesamten block, den wp um den button herum erstellt, in gesamt-layout-breite */
	margin-bottom: 1.5em;
	margin-top: 1.5em;
}

/* der eigentliche button */
a.wp-block-button__link {
	background-color: var(--color-link);
	border-radius: .4em;
	color: var(--color-negative);
	font-size: var(--fs-4);
	padding: .75em 1.5em;
	transition: all 0.2s ease-in-out;
}

a.wp-block-button__link:hover {
	background-color: var(--color-link-hover);
	color: var(--color-negative);
}

a.wp-block-button__link:active,
a.wp-block-button__link:focus {
	color: var(--color-negative);
}

.kd-button-gross a.wp-block-button__link {
	font-size: var(--fs-3);
	padding: .65em 1.3em;
}

.kd-button-klein a.wp-block-button__link {
	font-size: var(--fs-base);
	padding: .5em 1em;
}

.kd-button-termin a {
	line-height: 1em;	
}

.kd-button-termin a::before {
	/* achtung: die farbe muss der einfachheit halber direkt im svg gesetzt werden */	
	background-image: url('icons/icon-calendar.svg');
	background-position: left bottom;
	background-size: initial;
	background-repeat: no-repeat;
	content: '';
	display: inline-block;
	height: 22px;
	width: 22px;
	margin-right: 10px;
	margin-top: -3px;
	vertical-align: middle;
}

.doctolib-btn {
	display: flex;
	justify-content: center;
	margin-top: 2rem;
}

.doctolib-btn a,
.doctolib-btn a:hover,
.doctolib-btn a:active,
.doctolib-btn a:visited {
	border-bottom: none;
	text-decoration: none;
}

.doctolib-btn img {
	margin-bottom: 0;
	margin-top: 1px;
	margin-left: 10px;
}

/* icons  ------------------------------------------------------- */
.kd-icon-haus,
.kd-icon-uhr,
.kd-icon-mail,
.kd-icon-telefon,
.kd-icon-karte,
.kd-icon-instagram,
.kd-icon-facebook,
.kd-icon-twitter,
.kd-icon-termin {
	position: relative;
}

.kd-icon-haus::before,
.kd-icon-uhr::before,
.kd-icon-mail::before,
.kd-icon-telefon::before,
.kd-icon-karte::before,
.kd-icon-instagram::before,
.kd-icon-facebook::before,
.kd-icon-twitter::before {
	/* achtung: die farbe muss der einfachheit halber direkt im svg gesetzt werden */	
	content: '';
	display: inline-block;
	height: 17px;
	width: 17px;
	background-position: left bottom;
	background-size: initial;
	background-repeat: no-repeat;
	position: absolute;
	left: -30px;
	top: 2px;
}

.kd-icon-haus::before {
	background-image: url('icons/icon-home.svg');
	background-size: contain;	
}

.kd-icon-uhr::before {
	background-image: url('icons/icon-clock.svg');
	background-size: contain;	
}

.kd-icon-mail::before {
	background-image: url('icons/icon-mail.svg');
	background-size: contain;	
}

.kd-icon-telefon::before {
	background-image: url('icons/icon-phone.svg');
	background-size: contain;
	top: 2px;	
}

.kd-icon-karte::before {
	background-image: url('icons/icon-map.svg');
	background-size: contain;	
}

.kd-icon-instagram::before {
	background-image: url('icons/icon-instagram.svg');
}

.kd-icon-facebbok::before {
	background-image: url('icons/icon-facebook.svg');
}

.kd-icon-twitter::before {
	background-image: url('icons/icon-twitter.svg');
}

.kd-kontakt-inhalt .kd-abstand-innen {
	padding: 4rem 5% 4rem 20%;
}

.kd-kontakt-inhalt .wp-block-group__inner-container {
	flex-direction: column;
}

.kd-kontakt-inhalt .kd-icon-haus,
.kd-kontakt-inhalt .kd-icon-uhr,
.kd-kontakt-inhalt .kd-icon-mail,
.kd-kontakt-inhalt .kd-icon-telefon,
.kd-kontakt-inhalt .kd-icon-karte,
.kd-kontakt-inhalt .kd-icon-instagram,
.kd-kontakt-inhalt .kd-icon-facebook,
.kd-kontakt-inhalt .kd-icon-twitter {
	padding-left: 28px;
}

.kd-kontakt-inhalt .kd-icon-haus::before,
.kd-kontakt-inhalt .kd-icon-uhr::before,
.kd-kontakt-inhalt .kd-icon-mail::before,
.kd-kontakt-inhalt .kd-icon-telefon::before,
.kd-kontakt-inhalt .kd-icon-karte::before,
.kd-kontakt-inhalt .kd-icon-instagram::before,
.kd-kontakt-inhalt .kd-icon-facebook::before,
.kd-kontakt-inhalt .kd-icon-twitter::before {
	left: 0;
	top: 5px;
}


/* bilder ------------------------------------------------------- */
.wp-block-image .alignleft,
.main-with-sidebar .wp-block-image .alignleft {
    float: left;
    margin-right: 1.875em;
}

.wp-block-image .alignright,
.main-with-sidebar .wp-block-image .alignright {
    float: right;
    margin-left: 1.875em;
}

.wp-block-image {
	position: relative;
	margin-bottom: 1em;
}

.wp-block-image.kd-abstand-unten {
	margin-bottom: 2.5em;
}

.wp-block-image.kd-engerer-abstand-unten {
	margin-bottom: 1em;
}

.wp-block-image img {
	border-radius: 12px;
	float: none;
	margin-bottom: 0;
}

.kd-ganze-breite-halbiert .wp-block-image img {
	border-radius: 0;
}

.wp-block-image figcaption {
	color: var(--color-text);
	font-size: var(--fs-s);
	line-height: 1.4; 
	margin-top: .3em;
	margin-bottom: 2.5em;
	padding: 0;
	text-align: left;
	width: 100%;
}

.wp-block-image.alignwide img {
	margin-left: 0;
	width: 100%;
}

.wp-block-image.kd-bild-kleiner img {
	width: 70%;
}

.wp-block-image.kd-logo-kleiner {
	text-align: center;
}

.wp-block-image.kd-logo-kleiner img {
	width: 60%;
}

/* weite und volle breite */
.alignfull {
	margin: 8rem calc(50% - 50vw); /* auf mac funktioniert das bestens */
	max-width: 100vw;
	width: 100vw;
}

.alignwide {
	margin-left: -100px;
	margin-right: -100px;
	max-width: calc( 100% + 200px);
}

/* cover image */
.wp-block-cover.alignwide, 
.wp-block-cover-image.alignwide {
	width: calc(100% + 200px);
}

.wp-block-cover__inner-container p {
	font-size: var(--fs-2);
	margin-bottom: 0;
} /* beschriftung stylen */


/* galerie ------------------------------------------------------- */
.wp-block-gallery {
	gap: 3rem !important;
}

.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image) {
	width: calc(33.33% - 3rem * .66667);
}

.wp-block-gallery.has-nested-images figure.wp-block-image{ 
	flex-grow: 0; 
}

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
	background: transparent;
	bottom: -33px;
	color: var(--color-text);
	font-size: var(--fs-s);
	left: 0;
	margin-bottom: 0;
	max-height: 60%;
	overflow: auto;
	padding: 0 8px 8px;
	position: absolute;
	text-align: center;
	width: 100%;
}

/* galerie-plugin simple lightbox ------------------------------------------------------- */
#slb_viewer_wrap .slb_theme_slb_default .slb_data_title, 
#slb_viewer_wrap .slb_theme_slb_default .slb_group_status {
	font-family: "Figtree", Arial, sans-serif;
	font-weight: 400 !important;
	font-size: var(--fs-3) !important;
	font-style: normal !important;
	margin-right: 1em !important;
}

#slb_viewer_wrap .slb_theme_slb_default .slb_group_status {
	font-size: var(--fs-s) !important;
	margin-right: 0 !important;
}

#slb_viewer_wrap .slb_theme_slb_baseline .slb_data_title {
	display: none !important;
}

/* accordion blocks plugin ------------------------------------------------------- */
.c-accordion__item {
	display: block;
}

h3.c-accordion__title {
	border-top: 1px solid var(--color-text);
	margin-top: 1.5em;
	padding-top: .5em;
}

h3.c-accordion__title::after {
	color: var(--color-link);
	font-size: 120%;
}


/* termed buchungstool anpassen ------------------------------------------------------- */
.wp-block-group:has(#w8m9v) {
	display: block;
	margin-bottom: 1.5rem;
}

#w8m9v {
	background-color: var(--color-bg-1);
	border: unset !important;
}

#w8m9v div.loginRegContainer {
	background-color: var(--color-bg-1);
	border: unset !important;
	box-shadow: 0px 0px 30px var(--color-text);
}

#w8m9v div.navContainer input[type="button"],
#w8m9v input.treeAnswer[type="button"],
#w8m9v input.treeBack[type="button"],
#w8m9v div.loginContainer input[type="submit"],
#w8m9v div.loginRegContainer input[type="button"],
#w8m9v div.loginRegContainer form.registrationForm input[type="submit"] {
	background-color: var(--color-link) !important;
	border-radius: 8px;
	box-shadow: unset !important;
	font-weight: 600;
	height: 2rem;
	padding: 0 1em;
}

#w8m9v .loginRegNav {
	background-color: var(--color-link) !important;
	font-family: "Figtree", Arial, sans-serif;
	font-weight: 600;
}

#w8m9v input.treeBack[type="button"],
#w8m9v div.loginRegContainer input[value="schließen"],
#w8m9v div.navContainer input[value="Anmelden"] {
	background-color: var(--color-negative) !important;
	border: 1px solid var(--color-link) !important;
	color: var(--color-link) !important;
}

#treeContent {
	margin-top: 5em;
}

#treeContent p,
#tmcontent p {
	color: var(--color-text);
	font-size: var(--fs-base);
	font-family: "Figtree", Arial, sans-serif;
	font-weight: 400;
	-webkit-hyphens: none;
	-ms-hyphens: none;
	hyphens: none;
}

#w8m9v .rselect {
	font-family: "Figtree", Arial, sans-serif;
}




/* ========================================================================== */
/* ! KD-BLÖCKE ---------------------------------------- */
/* ========================================================================== */

/* wordpress 6.5 reset */
/* body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: var(--wp--style--global--content-size);
  margin-left: auto !important;
  margin-right: auto !important;
} */

body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: 100%;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* kd-highlight ------------------------------------------------------- */
.wp-block-column > .wp-block-group.kd-highlight:first-child {
	margin-top: 0;
}

.wp-block-group.kd-highlight {
	background-color: var(--color-bg-1);
	border-radius: 12px;
	margin: 1rem 0;
	width: 100%;
}

.wp-block-group.kd-highlight .wp-block-group__inner-container {
	display: block;
}

.wp-block-group.kd-highlight .wp-block-group__inner-container > :first-child {
	margin-top: 0;	
}

.wp-block-group.kd-highlight .wp-block-group__inner-container > :last-child {
	margin-bottom: 0;	
}

.wp-block-group.kd-highlight .wp-block-group__inner-container {
	padding: 1.5rem 5% 1.5rem;
}

.wp-block-group.kd-highlight p {
	margin-bottom: 1em;
}


/* kd-3-spalten ------------------------------------------------------- */
.kd-3-spalten .wp-block-column {
	/* background: var(--color-bg-1); */
}

.kd-3-spalten .wp-block-column :is(h4, p, td, th) {
	/* font-size: var(--fs-s); */
	line-height: 1.5;
}

.kd-3-spalten table {
	margin-top: 1em;
	margin-bottom: .5em;
}

.kd-3-spalten p {
	margin-bottom: .75em;
}

.kd-3-spalten p + h4 {
	margin-top: 1rem;
}


/* kd-3-spalten-flexibel ------------------------------------------------------- */
.wp-block-group.kd-3-spalten-flexibel .wp-block-group__inner-container .wp-block-columns {
	flex-wrap: wrap !important;
}

.wp-block-group.kd-3-spalten-flexibel .wp-block-group__inner-container .wp-block-column {
	flex-basis: 29%;
	margin-bottom: 2em;
	margin-right: 3%;
	margin-left: 0;
}

.wp-block-group.kd-3-spalten-flexibel .wp-block-group__inner-container .wp-block-column:nth-of-type(3n) {
	margin-right: 0;
}

.wp-block-group.kd-3-spalten-flexibel h2,
.wp-block-group.kd-3-spalten-flexibel h3 {
	margin-bottom: .4em;
}

.wp-block-group.kd-3-spalten-flexibel p {
	margin-bottom: .7em;
}

.wp-block-group.kd-3-spalten-flexibel p:last-of-type {
	margin-bottom: 0;
}


/* kd-4-spalten ------------------------------------------------------- */
.wp-block-columns:not(.is-not-stacked-on-mobile).kd-4-spalten {
	display: grid;
	grid-template-rows: auto;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 60px;
}

.wp-block-columns:not(.is-not-stacked-on-mobile).kd-4-spalten .wp-block-column:not(:last-child) {
  margin-right: 0;
}

.wp-block-columns:not(.is-not-stacked-on-mobile).kd-4-spalten .wp-block-column:not(:first-child), .wp-block-column:nth-child(2n) {
  margin-left: 0;
}

.wp-block-columns:not(.is-not-stacked-on-mobile).kd-4-spalten .wp-block-column + .wp-block-column {
	margin-top: 0;
}


/* kd-hellblau + kd-hellgraublau ------------------------------------------------------- */

article > .alignfull.kd-hellblau:first-of-type,
article > .alignfull.kd-hellgraublau:first-of-type,
article > .alignfull.kd-bild-ganze-breite:first-of-type  {
	margin-top: 0;
}

.kd-hellblau .wp-block-group__inner-container,
.kd-hellgraublau .wp-block-group__inner-container {
	margin: 4em 0;
	width: 80rem;
}

.kd-hellblau .wp-block-group__inner-container > :first-child,
.kd-hellgraublau .wp-block-group__inner-container > :first-child {
	margin-top: 0;
}

.kd-hellblau .wp-block-group__inner-container > :last-child,
.kd-hellgraublau .wp-block-group__inner-container > :last-child {
	margin-bottom: 0;
}

.kd-hellblau .wp-block-group__inner-container .wp-block-group__inner-container,
.kd-hellgraublau .wp-block-group__inner-container .wp-block-group__inner-container {
	margin: 0;
}

.kd-hellblau .wp-block-group__inner-container h1,
.kd-hellgraublau .wp-block-group__inner-container h1 {
	margin-top: 0;
}

.kd-hellblau .wp-block-columns,
.kd-hellgraublau .wp-block-columns {
	margin: 2em 0 2em;
}


/* kd-hellblau */
.kd-hellblau {
	background-color: var(--color-bg-1);
}


/* kd-hellgraublau */
.kd-hellgraublau {
	background-color: var(--color-bg-2);
}


/* kd-ganze-breite-halbiert ------------------------------------------------------- */
.kd-ganze-breite-halbiert :where(.wp-block-columns.is-layout-flex) {
	gap: 0 !important;
}

.kd-ganze-breite-halbiert .wp-block-group__inner-container,
.kd-ganze-breite-halbiert.kd-hellblau .wp-block-group__inner-container,
.kd-ganze-breite-halbiert.kd-hellgraublau .wp-block-group__inner-container {
	margin: 0;
	width: 100%;
}

.kd-ganze-breite-halbiert .wp-block-group__inner-container .wp-block-columns,
.kd-ganze-breite-halbiert .wp-block-group__inner-container .wp-block-image,
.kd-ganze-breite-halbiert .wp-block-group__inner-container .wp-block-columns img,
.kd-ganze-breite-halbiert .wp-block-column {
	margin: 0 !important;
}

.kd-ganze-breite-halbiert .wp-block-column {
	flex-basis: 50%;
	width: 50%;
}

.kd-ganze-breite-halbiert .wp-block-group__inner-container .wp-block-columns figure {
	display: flex;
	width: 100%;
	height: 100%;
}

.kd-ganze-breite-halbiert .wp-block-group__inner-container .wp-block-columns figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}


/* kd-bild-ganze-breite ------------------------------------------------------- */
.alignfull.kd-bild-ganze-breite .alignfull {
	margin-top: 0;
	margin-bottom: 0;
}

.kd-bild-ganze-breite .wp-block-group__inner-container figure {
	width: 100%;
	height: 100%;
}

.kd-bild-ganze-breite .wp-block-group__inner-container img,
.kd-bild-ganze-breite .wp-block-group__inner-container picture {
	margin: 0 !important;
	width: 100%;
	height: 100%;
	object-fit: cover;
}


/* kd-hero-text */
.kd-bild-ganze-breite.kd-hero-text figure.wp-block-image img {
	vertical-align: bottom;
}

.kd-bild-ganze-breite.kd-hero-text figure.wp-block-image {
	position: relative;
}

.kd-bild-ganze-breite.kd-hero-text figure.wp-block-image figcaption {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin-top: 0;
	margin-bottom: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color-negative);
	/* font-family: "Bodoni", Times, "Times New Roman", serif;
	font-style: italic; */
	font-weight: 400;
	font-size: clamp(1.25rem, 5vw - 1rem, 3.5rem); /* Min value (20px) ends at 720 px. Max value (56px) starts at 1440 px. */
	padding: 2rem;
	text-align: center;
	text-shadow: 2px 2px 8px #000;
}

.kd-bild-ganze-breite.kd-hero-text.kd-overlay figure.wp-block-image figcaption {
	background-color: rgba(5, 64, 92, 0.5); /* % vom hauptblau */
}


/* kd-inhalt-schmaler ------------------------------------------------------- */
.wp-block-group.kd-inhalt-schmaler .wp-block-group__inner-container,
.wp-block-group.kd-inhalt-schmaler .wp-block-group__inner-container > h2,
.wp-block-columns.kd-inhalt-schmaler,
.wp-block-gallery.kd-inhalt-schmaler {
	margin-left: auto;
	margin-right: auto;
	width: 70%;
}

.wp-block-group.kd-inhalt-schmaler .wp-block-group__inner-container .wp-block-group__inner-container {
	width: 100%;
}

.kd-inhalt-schmaler table {
	width: 70%;
}

h2 + .kd-inhalt-schmaler {
	margin-top: 0;
}

.kd-hellblau h1 + .wp-block-columns,
.kd-hellblau h2 + .wp-block-columns,
.kd-hellgraublau h1 + .wp-block-columns,
.kd-hellgraublau h2 + .wp-block-columns {
	margin-top: 0;
}


/* kd-rechtstext ------------------------------------------------------- */
.kd-rechtstext p,
.kd-rechtstext ul,
.kd-rechtstext ol {
	font-size: var(--fs-s);
	margin-bottom: 1em
}

.kd-rechtstext h2 {
	font-size: var(--fs-3);
	margin-bottom: .5em;
}

.kd-rechtstext h3 {
	font-size: var(--fs-4);
}





/* ========================================================================== */
/* ! FOOTER ---------------------------------------- */
/* ========================================================================== */

.site-footer {
	flex: 0 0 auto;
	margin-top: 5em;
	position: relative;
}

.site-footer .container {
	position: relative;
	z-index: 10;
}

.site-footer .row {
	display: grid;
	grid-template-columns: 6fr 3fr 3fr 3fr 3fr;
	gap: 2em;
	padding: 2rem 0;
	word-break: break-word;
}

@media only screen and (max-width: 68rem) {
	.site-footer .row {
		grid-template-columns: 2fr 1fr 1fr 1fr;
	}
}

@media only screen and (max-width: 56rem) {
	.site-footer .row {
		gap: 0 20px;
	}
	
	.site-footer .row .footer-box:first-of-type {
		grid-column: span 2;
	}
	
	.site-footer .row {
		grid-template-columns: 1fr 1fr;
	}
}

@media only screen and (max-width: 40rem) {
	.site-footer .row {
		grid-template-columns: 1fr;
		gap: 0;
	}
	
	.site-footer .row .footer-box:first-of-type {
		grid-column: unset;
	}
}

.site-footer h3,
.site-footer p,
.site-footer ul {
    font-size: var(--fs-s);
	font-weight: 400;
    color: var(--color-negative);
    -webkit-hyphens: none;
    -ms-hyphens: none;
    hyphens: none;
    line-height: 1.6;
}

.site-footer h3 {
	font-weight: 600;
	margin-bottom: 0;
	margin-top: 0;
	padding-top: .8em;
}

.site-footer p {
	margin-bottom: .7em;
}

.site-footer strong {
	color: var(--color-negative);
	font-family: "Figtree", Arial, sans-serif;
	font-weight: 600;
}

.site-footer ul.widget li {
	padding-left: 0;
}

.site-footer ul.widget li:before {
	content: '';
	display: none;
}

.site-footer ul.menu {
	font-size: .9375rem;
	letter-spacing: .05em;
	padding-top: 1em;
}

.site-footer ul.menu li {
	padding-left: 0;
	padding-bottom: .75em;
	text-transform: uppercase;
}

.site-footer ul.menu li:before {
	content: '';
	display: none;
}

.site-footer p.small {
    font-size: var(--fs-s);
}

.site-footer ul {
    margin-top: 0;
}

.site-footer a {
    border-bottom: 1px solid transparent;
    color: var(--color-negative);
	padding-bottom: 2px;
/*     transition: all 0.3s ease-in-out; */
}

.site-footer a:hover {
    border-bottom: 1px solid var(--color-negative);
    color: var(--color-negative);
}

.site-footer strong a {
	color: var(--color-negative);
}

.site-footer a.wp-block-button__link {
	border: 1px solid var(--color-negative);
	color: var(--color-text);
}

.site-footer a.wp-block-button__link:hover {
	border: 1px solid var(--color-negative);
	color: var(--color-negative);
}

.site-footer .footer-box:first-of-type ul {
	width: fit-content;
}

.site-footer .footer-box:first-of-type span {
	display: inline-block;
}

a[href^="tel:"] {
/* 	border-bottom: 1px solid #fff; */
}

a.to-top {
    cursor: pointer;
    display: block;
    margin-bottom: 1em;
    position: absolute;
    top: -120px;
}

.site-footer a.to-top {
    font-size: 1.25rem;
    height: 40px;
    width: 40px;
}

a.to-top:link,
a.to-top:visited,
a.to-top:hover,
a.to-top:active {
    border-bottom: none;
}

a.to-top.icon svg {
	fill: var(--color-link);
	width: 40px;
}

a.to-top.icon svg:hover {
	fill: var(--color-link-hover);
}





/* ========================================================================== */
/* ! RESPONSIVENESS 100 rem / 1600 px ---------------------------------------- */
/* ========================================================================== */

/* ganze breite halbiert kontrollieren wegen bildgröße/proportionen */
@media only screen and (max-width: 100rem) {

	/* h1 {color: orange;} */
	/* h1::after {content: '.....';} */
	
	.kd-einzug {
		padding-left: 3rem;
	}
	
	.kd-abstand-innen {
		padding: 3rem 6rem;
	}

}





/* ========================================================================== */
/* ! RESPONSIVENESS 88 rem / 1408 px ---------------------------------------- */
/* ========================================================================== */

/* ab hier verändern sich die container flexibel */
@media only screen and (max-width: 88rem) {
    
    /* h1 {color: gray;} */
    /* h1::after {content: '....';} */
	/* h2::after {content: '....';} */
	    
    
    /* header -------------------------- */
    .site-header .container,
	.site-content .container,
	.site-footer .container {
	    width: 86%;
	}

	
	/* content -------------------------- */	
	.wp-block-columns {
		margin-top: 4em;
	}
	
	.alignwide {
		margin-right: 0;
		margin-left: 0;
		max-width: 100%;
	}
	
	
	.kd-einzug {
		padding-left: 0;
	}
	
	.kd-abstand-innen {
		padding: .5rem 4rem;
	}
	
	
	/* kd-3-spalten-flexibel ------------------------------------------------------- */
	.kd-3-spalten-flexibel .wp-block-group__inner-container {
		width: 100%;
	}
	
	/* kd-hellgraublau ------------------------------------------------------- */
	.kd-hellgraublau .wp-block-group__inner-container {
	  width: 86%;
	}

	/* kd-hellblau ------------------------------------------------------- */
	.kd-hellblau .wp-block-group__inner-container {
	  width: 86%;
	}
	
	/* kd-bild-ganze-breite ------------------------------------------------------- */
	
	/* kd-inhalt-schmaler ------------------------------------------------------- */
	.kd-inhalt-schmaler table {
		width: 80%;
	}		
	    
}
    




/* ========================================================================== */
/* ! RESPONSIVENESS 75 rem / 1200 px ---------------------------------------- */
/* ========================================================================== */

@media only screen and (max-width: 75rem) {
    
    /* h1 {color: green;} */
    /* h1::after {content: '...';} */
	/* h2::after {content: '...';} */
    
    
    /* layout allgemein -------------------------- */
    .container-main {
	    width: 84.5%;
	}

	 /* open state */
    /* font-size für input-felder auf 16px setzen > verhindert skalieren auf dem iphone */
    input[type="color"],
    input[type="date"],
    input[type="datetime"],
    input[type="datetime-local"],
    input[type="eclock"],
    input[type="month"],
    input[type="number"],
    input[type="password"],
    input[type="search"],
    input[type="tel"],
    input[type="text"],
    input[type="time"],
    input[type="url"],
    input[type="week"],
    select:focus,
    textarea {
        font-size: var(--fs-base);
	}
	
   
    /* content -------------------------- */
    .main {
        flex-wrap: wrap;
	}
	
	.home h1 + h2 {
		width: 100%;
	}
	
	.wp-block-column {
		flex-basis: 47%;
	}
	
	:where(.wp-block-columns.is-layout-flex) {
	  gap: 2em !important;
	}
	
	
	/* kd-3-spalten-flexibel ------------------------------------------------------- */
	.wp-block-group.kd-3-spalten-flexibel .wp-block-group__inner-container .wp-block-column {
		flex-basis: 43%;
		margin-bottom: 2em;
		margin-right: 7%;
	}
	
	.wp-block-group.kd-3-spalten-flexibel .wp-block-group__inner-container .wp-block-column:nth-of-type(3n) {
		margin-right: unset;
	}
	
	.wp-block-group.kd-3-spalten-flexibel .wp-block-group__inner-container .wp-block-column:nth-of-type(3n) {
		margin-right: 7%;
	}
	
	.wp-block-group.kd-3-spalten-flexibel .wp-block-group__inner-container .wp-block-column:nth-of-type(2n) {
		margin-right: 0;
	}
	
	/* kd-hellblau + kd-hellgraublau ------------------------------------------------------- */
	.alignfull.kd-hellblau .wp-block-columns, 
	.alignfull.kd-hellgraublau .wp-block-columns {
		flex-wrap: wrap !important;
	}
	
	/* kd-inhalt-schmaler ------------------------------------------------------- */
	.wp-block-group.kd-inhalt-schmaler {
		/* width: 100%; */
	}
	
	.kd-hellblau.kd-inhalt-schmaler .wp-block-group__inner-container {
		width: 100%;
	}
	
	.wp-block-group.kd-inhalt-schmaler .wp-block-group__inner-container .wp-block-columns {
		width: 86%;
	}
	
	.wp-block-columns.kd-inhalt-schmaler {
		width: 100%;
	}		
	
}





/* ========================================================================== */
/* ! RESPONSIVENESS 65 rem / 1040 px ---------------------------------------- */
/* ========================================================================== */

/* einspaltig – war ursprünglich 52 rem */
@media only screen and (max-width: 65rem) {
    
    /* h1 {color: red;} */
    /* h1::after {content: '..';} */
	/* h2::after {content: '..';} */
    
    
    /* layout allgemein -------------------------- */	
	.container-main {
		width: 90%;
	}
	
	.container .wp-block-columns {
		flex-wrap: wrap;
	}
	
	.container .wp-block-column {
    	flex-basis: 100% !important;
	}
	
	.wp-block-column {
		margin-bottom: 0;
	}
	
	.wp-block-column:nth-child(2n+1) {
		margin-right: 0;
	}
	
	.wp-block-columns {
		flex-wrap: wrap !important; 
	}
	
	.wp-block-columns .wp-block-column {
		margin-bottom: 1rem;
	}
	
	.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:not(:only-child) {
		flex-basis: 100% !important;
	}
	
	.wp-block-column:not(:first-child) {
		margin-left: 0;
	}
	
	.wp-block-column:not(:last-child) {
		margin-right: 0;
	}
	
	.wp-block-column ul li,
	.wp-block-column ol li {
		padding-bottom: .7em;
	}
	
	.alignwide {
		margin-left: 0;
		margin-right: 0;
		max-width: 100%;
	}
	
	.kd-abstand-innen {
		padding: 4rem 7%;
	}
	
	.kd-vertikal-mittig .wp-block-group {
		margin-top: 0;
	}
	
	p.kd-aufgeteilt,
	ul.kd-aufgeteilt {
		column-count: 1;
		column-gap: 0;
		margin-bottom: 2em;
	}
	
	/* für lebenslauf mit bild in linker spalte (seite praxis): optimierung der vertikalen abstände auf handy */
	.kd-spaltenbild-einzeln {
		/* margin-top: 6rem; */
	}
	
	.wp-block-columns .wp-block-column:has(.wp-block-image.kd-spaltenbild-einzeln) + .wp-block-column {
		margin-top: 2rem;
	}
    
    
    /* header -------------------------- */    
    .site-header {
		height: 350px;
	}
	
	.site-header.sticky + .site-content {
		margin-top: 300px;
	}
	
	.logo {
		padding: 2rem 0 0;
	}
	
	.logo svg {
		height: 200px;
		width: 250px;
	}
	
	.site-header.sticky .logo {
		padding: .75rem 0 .2rem;
	}
	
	.nav-wrap ul {
		font-size: 1rem;
	}
	
	ul.nav > li {
		padding: .5em .4em;
	}
	
	ul.nav a::after {
		transform: scale(1);
	}
	
        
    /* content -------------------------- */ 
    .site.home h1 {
	    margin-top: 1em;
	}
	
	.kd-text-einzug-overlay {
		margin-left: unset;
	}
	
	.kd-text-einzug-overlay h1,
	.kd-text-einzug-overlay p {
		background-color: unset;
		padding: 0;
	}
	
	.kd-text-einzug-overlay h1 {
		margin-bottom: 1em;
	}
	
	table {
		width: 100%;
	}
	
	.wp-block-column > h2, 
	.wp-block-column > h3, 
	.wp-block-column > h4, 
	.wp-block-column > h5, 
	.wp-block-column > h6 {
		margin-top: 1.5em;
	}
	
	.wp-block-column:first-of-type h2:first-of-type,
	.wp-block-column:first-of-type h3:first-of-type {
		margin-top: 0;
	}
	
	.wp-block-column + .wp-block-column {
		margin-top: 4rem;
	}
	
	.wp-block-group {
		margin-top: 0;
	}
	
	:where(.wp-block-columns.is-layout-flex) {
		gap: 0 !important;
	}
	
	
	/* galerie ------------------------------------------------------- */
	.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image) {
	  width: calc(50% - 3rem * .66667);
	}	
	
	/* kd-3-spalten-flexibel ------------------------------------------------------- */
	.wp-block-group.kd-3-spalten-flexibel .wp-block-group__inner-container .wp-block-column {
		flex-basis: 100%;
		margin-bottom: 1em;
	}
	
	.wp-block-group.kd-3-spalten-flexibel .wp-block-group__inner-container .wp-block-column,
	.wp-block-group.kd-3-spalten-flexibel .wp-block-group__inner-container .wp-block-column:nth-of-type(3n) {
		margin-right: 0;
	}
	
	
	/* kd-4-spalten ------------------------------------------------------- */
	.wp-block-columns:not(.is-not-stacked-on-mobile).kd-4-spalten {
		grid-template-columns: 1fr 1fr;
		gap: 60px !important;
	}

	
	/* kd-hellblau + kd-hellgraublau ------------------------------------------------------- */
	.kd-hellblau .wp-block-group__inner-container .wp-block-group__inner-container,
	.kd-hellgraublau .wp-block-group__inner-container .wp-block-group__inner-container {
	  width: 100%;
	}
	
	
	/* kd-ganze-breite-halbiert ------------------------------------------------------- */
	.kd-ganze-breite-halbiert .wp-block-group {
		margin-bottom: 0;
	}

	
	/* kd-inhalt-schmaler ------------------------------------------------------- */
	.wp-block-group.kd-inhalt-schmaler .wp-block-group__inner-container .wp-block-columns,
	.wp-block-group.kd-inhalt-schmaler .wp-block-group__inner-container > h2,
	.wp-block-columns.kd-inhalt-schmaler,
	.wp-block-gallery.kd-inhalt-schmaler,
	.kd-inhalt-schmaler table {
		width: 100%;
	}
    
	
    /* footer -------------------------- */
    .site-footer {
	    padding-top: 3em;
	}
	
	.kd-icon-haus::before,
	.kd-icon-uhr::before,
	.kd-icon-mail::before, 
	.kd-icon-telefon::before,
	.kd-icon-mail::before,
	.kd-icon-instagram::before,
	.kd-icon-facebook::before,
	.kd-icon-twitter::before {
		/* left: 0; */
	}
	
	.kd-icon-haus, 
	.kd-icon-uhr,
	.kd-icon-mail, 
	.kd-icon-telefon,
	.kd-icon-mail,
	.kd-icon-instagram,
	.kd-icon-facebook,
	.kd-icon-twitter,
	.footer-box p span {
		/* padding-left: 35px; */
	}
	
	.site-footer {
		background-size: 50%;
	}
	
	.footer-box p span {
		display: inline-block;
	}
	
	.footer-box p span.ort {
		padding-left: 0;
	}
	
	.site-footer .footer-box {
	    margin-left: 0;
		padding-left: 0;
	}
    
    .site-footer .footer-box ul {
        margin-bottom: 0;
	}
	
	.site-footer p.small {
		padding-top: 2em;
	}
	
	.site-footer .footer-box:first-of-type ul {
		width: 100%;
	}
	
}





/* ========================================================================== */
/* ! RESPONSIVENESS 40 rem / 640 px ---------------------------------------- */
/* ========================================================================== */

/* einspaltig, iPhone6 */
@media only screen and (max-width: 40rem) {

    /* h1 {color: black;} */
    /* h1::after {content: '.';} */
	/* h2::after {content: '.';} */
    
	
	/* layout allgemein -------------------------- */
    .container {
        margin-right: 7%;
        margin-left: 7%;
	}
	
	.container-main {
		width: 86%;
	}
	
	.wp-block-image .alignleft,
	.main-with-sidebar .wp-block-image .alignleft {
		float: none;
		margin-right: 0;
	}
	
	.wp-block-image .alignright,
	.main-with-sidebar .wp-block-image .alignright {
		float: none;
		margin-left: 0;
	}

	.wp-block-group, .wp-block-columns {
	  margin-top: 3rem;
	  margin-bottom: 3rem;
	}
	
	.alignfull {
		margin: 4rem calc(50% - 50vw);
	}
	
			
	/* header -------------------------- */	
	.site-header {
		height: 200px;
	}
	
	.site-header.sticky + .site-content {
		margin-top: 250px; /* height site-header + margin-top site-content */
	}
	
	.topbar {
		right: unset;
		z-index: 1200;
	}
	
	.logo {
		padding: 2rem 0 .5rem;	
	}
	
	.site-header.sticky {
		height: 100px;
	}
	
	.site-header.sticky .topbar {
		top: 0;
	}
	
	.site-header.sticky .logo {
		/* clip-path: inset(0 100px 80px 100px); */
		margin-top: unset;
		padding-top: 0;
		z-index: 1500;
	}
	
	
	/* .site-header.sticky .logo svg {
		height: 127px;
		width: 300px;
	} */

		
	/* mobile navigation -------------------------- */
	#menu-icon {
		cursor: pointer;
		display: block;
		/* show menu icon */
		font-size: 1.2rem;
		margin-top: -3px;
		padding: 0;
		text-align: right;
		width: 100%;
	}
	
	#menu-icon svg {
		stroke: var(--color-link);
		width: 25px;
	}
	
	#menu-icon:hover,
	#menu-icon.active {
		background: transparent;
	}
	
	#menu-icon:hover svg {
		stroke: var(--color-link-hover);
	}
	
	#menu-icon:hover svg {
		/* fill: var(--color-main); */
	}
	
	#menu-icon span {
		pointer-events: none;
	}
	
	.nav-main {
		box-shadow: 0px 25px 25px rgba(0, 0, 0, 0.3);
		border-radius: 5px;
		display: none;
		/* menu-icon-function: visibility will be toggled with jquery */
		float: none;
		margin-top: 0;
	}
	
	.nav-wrap {
		position: absolute;
		right: 0;
		top: 5px;
		
		padding: 0;
		width: 100%;        
	}
	
	ul.nav {
		background-color: var(--color-negative);
		border-radius: 5px;
		display: block;
		float: none;
		margin-top: 0;
		padding: .2em 1.4em;
		position: relative;
		text-align: left;
		z-index: 1000;
	}
	
	ul.nav > li {
		border-top: 1px solid var(--color-text-light);
		display: block;
		float: none;
		margin-left: 0;
		padding: 0 0 1.4rem;
	}
	
	ul.nav li:first-child {
		border-top: none;
	}
	
	ul.nav a {
		font-weight: 600;
		padding: 0;
	}
	
	.nav-main li > a {
		display: block;
		padding: 1.5em 0 0;
		width: inherit;
	}
	
	.nav-main li.menu-item-has-children > a {
		padding-bottom: 0;
	}
		
	.nav-main .current-menu-item > a, 
	.nav-main .current-page-ancestor > a, 
	.nav-main .current-menu-item > a:hover, 
	.nav-main .current-page-ancestor > a:hover {
		border-bottom: 1px solid transparent;
		color: var(--color-main);
		font-family: "Figtree", Arial, sans-serif;
		font-weight: 600;
	
	}
	
	.nav-main li:hover > a, 
	.nav-main .current-page-item > a:hover, 
	.nav-main .current-page-ancestor > a:hover {
		border-bottom: 1px solid transparent;
		color: var(--color-link-hover);
	}
	
	.nav-main a:focus, 
	.nav-main .current-page-item > a, 
	.nav-main .current-page-ancestor > a {
		color: var(--color-link-hover);
	}
	
	ul.sub-menu {
		position: relative;
		top: 10px;
		
		box-shadow: none;
		margin: 0;
		opacity: 1;
		padding: .2em 0 .2em 1.2em;
		visibility: unset;
		width: auto;
		z-index: 1;
	}
	
	ul.nav .sub-menu li:first-child {
		border-top: 1px solid rgba(255, 255, 255, 0.5);
	}
	
	.sub-menu li {
		border-top: 1px solid rgba(255, 255, 255, 0.5);
		padding: .5em 0 .5em 1em;
	}
	
	.sub-menu li a {
		padding: 0;
	}
	
	.sub-menu li a::before {
		content: '› ';
	}

	
	/* content -------------------------- */
	.site-content {
		margin-top: 50px;
	}
	
	.site-content p,
	.site-content table,
	.site-content td {
		-webkit-hyphens: auto;
		-ms-hyphens: auto;
		hyphens: auto;
	}
	
	/* sorgt dafür, dass ein bild auch auf iphones die ganze breite ausfüllt */
	html {
		width: -webkit-fill-available;
	}
	
	/* für lebenslauf mit bild in linker spalte (seite praxis): optimierung der vertikalen abstände auf handy */
	.kd-spaltenbild-einzeln {
		/* margin-top: 8rem; */
	}
	
	.wp-block-columns .wp-block-column:has(.wp-block-image.kd-spaltenbild-einzeln) + .wp-block-column {
		margin-top: 1rem;
	}
	
	/* galerie */
	.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image) {
		width: 100%;
	}
	
	/* kd-ganze-breite-halbiert ------------------------------------------------------- */
	.kd-ganze-breite-halbiert .wp-block-group {
		margin-top: 0;
	}
	
	/* kd-inhalt-schmaler ------------------------------------------------------- */
	.wp-block-group.kd-inhalt-schmaler .wp-block-group__inner-container,
	.wp-block-group.kd-inhalt-schmaler .wp-block-group__inner-container > h2,
	.wp-block-columns.kd-inhalt-schmaler,
	.wp-block-gallery.kd-inhalt-schmaler,
	.kd-inhalt-schmaler table {
		width: 100%;
	}
		

	/* text -------------------------- */
	h1 + .wp-block-columns .wp-block-column:first-of-type h2:first-of-type {
		margin-top: 2em;
	}
	
	h3,
	p,
	ul,
	ol {
		-ms-hyphens: auto;
		-webkit-hyphens: auto;
		hyphens: auto;
	}
	
	h1,
	h2 {
		line-height: 1.2;
		-ms-hyphens: none;
		-webkit-hyphens: none;
		hyphens: none;
	}
	
	h1 {
		margin-top: .5em;
	}
	
	article > h2 {
		text-align: left;
	}
	
	.wp-block-column:first-of-type h3:first-of-type {
		margin-top: 1.5em;
	}
	
	ul.kd-linkliste li {
		padding-bottom: 1em;
	}
	
	strong,
	a {
		/* -ms-hyphens: none;
		-webkit-hyphens: none;
		hyphens: none; */
	}
	
	.breadcrumb {
		margin-bottom: .75em;
	}
	
	.breadcrumb p,
	.breadcrumb a,
	.breadcrumb .current {
		line-height: 1.3;
	}
	
	table {
		word-break: break-word;
	}
		

	/* footer -------------------------- */
	.site-footer {
		background-size: 75%;
		background-position: center 4rem;
	}
	
	.site-footer h3,
	.site-footer p, 
	.site-footer ul {
		font-size: var(--fs-base);
	}
	
	.site-footer ul li {
		padding: .5rem 0;
	}
	
	.site-footer .footer-box {
		border-top: 2px dotted var(--color-negative);
		padding-top: .3rem;
		padding-bottom: .6rem;
		margin-bottom: 0;
	}

}




/* ========================================================================== */
/* ! RESPONSIVENESS 34 rem / 544 px ---------------------------------------- */
/* ========================================================================== */

/* termin-buchung aus topbar wegkürzen */
@media only screen and (max-width: 34rem) {
	
	/* h1 {color: blueviolet;} */
	/* h1::after {content: '-';} */
	
	.topbar li span {
		display: none;
	}
	
	.topbar li span.mobile-text {
		display: contents;
	}
	
	
}





/* ========================================================================== */
/* ! RESPONSIVENESS 27 rem / 432 px ---------------------------------------- */
/* ========================================================================== */

/* für porträtfotos */
@media only screen and (max-width: 27rem) {
	
	/* h1 {color: lightcoral;} */
	/* h1::after {content: '--';} */
	
	/* header -------------------------- */
	/* .logo svg {
		width: 90%;
	} */
	
	/* kd-4-spalten ------------------------------------------------------- */
	.wp-block-columns:not(.is-not-stacked-on-mobile).kd-4-spalten {
		grid-template-columns: 1fr;
	}
	
}



/* ========================================================================== */
/* ! RESPONSIVENESS 22.5 rem / 360 px ---------------------------------------- */
/* ========================================================================== */

/* einspaltig, Samsung*/
@media only screen and (max-width: 22.5rem) {

    /* h1 {color: purple;} */
    /* h1::after {content: '---';} */
	/* h2::after {content: '_';} */
    
	/* .site-header.sticky .logo {
		clip-path: inset(0 50px 60px 50px);
		padding-top: 1.1rem;
		width: 100%;
	}
	
	.site-header.sticky .logo svg {
		height: 100px;
		width: 250px;
	} */
	
	.logo {
		width: 200px;
	}
	
	.logo svg {
		height: 150px;
		width: 200px;
	}
	
	.kd-bild-ganze-breite.kd-hero-text figure.wp-block-image figcaption {
		display: none;
	}
	
    
}





/* ========================================================================== */
/* ! PRINT STYLES ---------------------------------------- */
/* ========================================================================== */

@media print {
    * {
        background: transparent !important;
        color: #000 !important;
        /* Black prints faster: h5bp.com/s */
        box-shadow: none !important;
        text-shadow: none !important;
	}
	
    pre,
    blockquote {
        border: 1px solid #000;
        page-break-inside: avoid;
	}
	
    tr,
    img {
        page-break-inside: avoid;
	}
	
    img {
        max-width: 100% !important;
	}
	
    @page {
        margin: 0.5cm;
	}
	
    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
	}
	
    h2,
    h3 {
        page-break-after: avoid;
	}
    /* !eigene print-styles */
}

