@charset "utf-8";

/*
 * File: /screen.css
 * Created Date: Thursday, 20.04.2023 22:14:17
 * Author:Stephan Romhart
 * -----
 * Last Modified: Wednesday, 26.04.2023 22:21:44
 * Modified By: Stephan Romhart
 * -----
 * Copyright (c) 2023 kreisform GmbH
 */


/*** Reset */

html,body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,
fieldset,input,textarea,p,blockquote,th,td,
header,footer,aside,nav,article,figure,figcaption{
	margin:0;
	padding:0;
}
fieldset,img{
	border:0;
}
address,caption,cite,code,dfn,em,strong,th,var{
	font-style:normal;
	font-weight:400;
}
ol,ul{
	list-style:none;
}
caption,th{
	text-align:left;
}
h1,h2,h3,h4,h5,h6{
	font-size:100%;
	font-weight:400;
}
q:before,q:after{
	content:'';
}
abbr,acronym{
	border:0;
}
a{
	text-decoration:none;
}
a:active,a:focus{
	/* outline:none; */
}
*,*::before,*::after{
	box-sizing:border-box;
}


/*** Schriften */

@font-face{
	font-display:swap;
	font-family:'Roboto';
	font-style:normal;
	font-weight:300;
	src:url('../fonts/roboto-v30-latin-300.woff2') format('woff2');
}
@font-face{
	font-display:swap;
	font-family:'Roboto';
	font-style:normal;
	font-weight:400;
	src:url('../fonts/roboto-v30-latin-regular.woff2') format('woff2');
}
@font-face{
	font-display:swap;
	font-family:'Roboto';
	font-style:normal;
	font-weight:700;
	src:url('../fonts/roboto-v30-latin-700.woff2') format('woff2');
}
@font-face{
	font-display:swap;
	font-family:'Roboto';
	font-style:normal;
	font-weight:900;
	src:url('../fonts/roboto-v30-latin-900.woff2') format('woff2');
}


/*** Variablen */

body{
	--weiss:hsl(0,0%,100%);
	--schwarz:hsl(0,0%,0%);
	--schwarz-t10:hsla(0,0%,0%,0.1);
	--schwarz-t20:hsla(0,0%,0%,0.2);
	
	--gelb:hsl(31,91%,71%);
	--gelb-hell-1:hsl(31,98%,77%);
	--gelb-hell-2:hsl(31,98%,87%);
	--gelb-hell-3:hsl(31,98%,97%);
	
	--grau:hsl(199,11%,34%);
	--grau-hell-1:hsl(199,11%,45%);
	--grau-hell-2:hsl(199,15%,59%);
	--grau-hell-3:hsl(199,17%,76%);
	--grau-hell-4:hsl(199,19%,88%);
	--grau-hell-5:hsl(199,26%,95%);
	--grau-hell-6:hsl(199,26%,97%);
	
	--content-width:70rem;
	--header-height:11.5rem;
	--header-small:0.3;
	--logo-width:16rem;
	--section-padding-block:8rem;
	--section-padding-inline:calc((100% - var(--content-width)) / 2);
	--content-element-margin:1.5rem;
	--content-grid-gap:2rem;
	--content-box-padding-block:3rem;
	--content-box-padding-inline:2.5rem;
	
	--mobile-menu-width:2.3rem;
}


/*** Globale Einstellungen */

::selection{
	color:var(--grau);
	-webkit-text-fill-color:var(--grau);
	background-color:var(--gelb-hell-1);
}
::-moz-selection{
	color:var(--grau);
	-webkit-text-fill-color:var(--grau);
	background-color:var(--gelb-hell-1);
}
body::-webkit-scrollbar{
	width:20px;
}
body::-webkit-scrollbar-track{
	background:var(--grau-hell-6);
}
body::-webkit-scrollbar-thumb{
	background-color:var(--gelb);
	border:8px solid var(--grau-hell-6);
	border-radius:500px;
}
html,
body{
	scroll-behavior:smooth;
}
body{
	font-size:1rem;
	font-family:'Roboto';
	line-height:1.5;
	font-variant-ligatures:none;
	background-color:var(--grau-hell-4);
	color:var(--grau-hell-1);
	padding-top:var(--header-height);
}
h1,h2,h3,h4{
	line-height:1.1;
}
a{
	color:var(--grau);
}
input,select,button{
	font-size:1em;
	font-family:'Roboto';
	line-height:1.4;
	color:var(--grau-hell-1);
}
figure img{
	display:block;
	width:100%;
	height:auto;
}
section{
	font-size:1.25rem;
	padding:var(--section-padding-block) var(--section-padding-inline);
	text-align:center;
	position:relative;
}
section.pfeil::before{
	content:'';
	position:absolute;
	left:50%;
	top:-0.1rem;
	width:0;
	height:0;
	border-left:2rem solid transparent;
	border-right:2rem solid transparent;
	border-top:2rem solid var(--weiss);
	transform:translateX(-50%);
}
section.pfeil.gelb::before{
	border-top-color:var(--gelb);
}
section.pfeil.grau-hell-3::before{
	border-top-color:var(--grau-hell-3);
}
section.pfeil.grau-hell-4::before{
	border-top-color:var(--grau-hell-4);
}
section > *,
section > div.container > *{
	margin-bottom:var(--content-element-margin);
}
section > *:last-child{
	margin-bottom:0;
}
section > p,
section > ul{
	max-width:65ch;
	margin-inline:auto;
}
section > p.teaser{
	font-weight:700;
}
section > p.notice{
	font-size:90%;
}
section p a{
	text-decoration:underline;
	text-decoration-color:var(--gelb);
	text-underline-offset:2px;
}
section p + a{
	margin-top:calc(2 * var(--content-element-margin));
}
section h2{
	font-size:2.2em;
	font-weight:900;
	text-decoration:underline;
	text-decoration-color:var(--grau-hell-4);
	text-decoration-thickness:0.4rem;
	color:var(--gelb);
}
section > h2{
	max-width:26ch;
	margin-inline:auto;
}
section h3{
	font-size:1.3em;
	font-weight:700;
}
section a.button,
button{
	display:inline-block;
	position:relative;
	padding:0.5em 3em 0.5em 2.5em;
	color:var(--grau);
	text-decoration:none;
	cursor:pointer;
	border:0;
	border-radius:500px;
	box-shadow:0 0 1rem var(--schwarz-t10);
	background-color:var(--gelb-hell-1);
	transition:background 0.3s ease-in-out,box-shadow 0.3s ease-in-out;
}
section a.button::after,
button::after{
	content:'';
	position:absolute;
	right:2em;
	top:50%;
	transform:translateY(-50%) rotate(45deg);
	width:0.5em;
	height:0.5em;
	border-top:2px solid var(--weiss);
	border-right:2px solid var(--weiss);
	transition:right 0.3s ease-in-out;
}


/** - Keyvisual */

section.keyvisual{
	padding:0;
	border-bottom:0.5rem solid var(--grau-hell-3);
	background-color:var(--grau-hell-4);
}
section.keyvisual > figure{
}
section.keyvisual > figure img{
	aspect-ratio:2/1;
	max-width:100rem;
	margin-inline:auto;
}


/** - Container */

section > div.container{
	margin:0;
	display:flex;
	flex-direction:column;
	justify-content:center;
	z-index:1;
}
section > div.container > * {
	text-align:left;
}
section div.container a.button{
	align-self:start;
}
section div.container h2{
	margin-bottom:calc(0.5 * var(--content-element-margin));
}


/** - Box */

section .box{
	border:2px solid var(--gelb);
	border-radius:1.5rem;
	padding:var(--content-box-padding-block) var(--content-box-padding-inline);
	background-color:var(--weiss);
	margin-inline:auto;
}
section .box > *{
	margin-bottom:var(--content-element-margin);
}
section .box > *:last-child{
	margin-bottom:0;
}
section .box ul{
	display:flex;
	flex-wrap:wrap;
	gap:0.5rem;
	justify-content:center;
}
section .box ul li{
	background-color:var(--grau-hell-4);
	border-radius:100vw;
	padding:0.4rem 0.6rem;
	text-align:center;
	line-height:1.1;
}
section .box p.notice{
	background-color:var(--gelb-hell-2);
	border-radius:1rem;
	text-align:center;
	padding:var(--content-box-padding-inline);
}
section div.container .box{
	margin:0;
}


/*** Header */

header{
	position:fixed;
	left:0;
	top:0;
	height:var(--header-height);
	width:100%;
	background-color:var(--weiss);
	box-shadow:0 0 1rem var(--schwarz-t10);
	z-index:5;
	transition:height 0.5s ease-in-out;
}
header.small{
	height:calc(var(--header-small) * var(--header-height));
}
header h1{
	position:absolute;
	left:50%;
	width:var(--logo-width);
	height:calc(1.1 * var(--header-height));
	background-color:var(--gelb);
	transform:translateX(-50%);
	border-bottom-left-radius:1rem;
	border-bottom-right-radius:1rem;
	overflow:hidden;
	z-index:2;
	transition:height 0.5s ease-in-out, border-radius 0.5s ease-in-out;
	box-shadow:0 0 1rem var(--schwarz-t10);
}
header.small h1{
	height:calc(var(--header-small) * var(--header-height));
	border-radius:0;
}
header h1 a{
	display:flex;
	width:100%;
	height:100%;
	background-image:url('../images/logo.svg');
	background-size:66%;
	background-position:center;
	background-repeat:no-repeat;
	transition:background 0.5s ease-in-out;
	position:relative;
}
header h1 a::before{
	content:'';
	position:absolute;
	left:50%;
	bottom:0;
	width:100%;
	height:1px;
	background-color:var(--gelb);
	transform:translateX(-50%);
	transition:height 0.5s ease-in-out;
}
header.small h1 a{
	background-size:36%;
	background-position:center top 0.5rem;
}
header.small h1 a::before{
	height:7px;
}
header h1 a span{
	display:none;
}
header nav{
	position:absolute;
	left:50%;
	top:50%;
	transform:translate(-50%,-50%);
	width:var(--content-width);
}
header nav ul{
	display:flex;
	gap:2.5rem;
	font-size:1.35rem;
	justify-content:center;
}
header nav ul li:nth-child(3){
	margin-right:calc(0.65 * var(--logo-width));
}
header nav ul li:nth-child(4){
	margin-left:calc(0.55 * var(--logo-width));
}
header nav ul li.page-8{
	display:none;
}
header nav ul li a{
	color:var(--grau);
	font-weight:400;
	white-space:nowrap;
	display:block;
}
header nav ul li a.active{
	text-decoration:underline;
	text-decoration-color:var(--gelb);
	text-underline-offset:3px;
}


/*** Main */

/** - Startseite Keyvisual */

body.start section.keyvisual{
	display:grid;
	grid-template-columns:1fr 1fr;
	padding:0 var(--section-padding-inline);
}
body.start section.keyvisual figure{
	width:100%;
	aspect-ratio:auto;
	margin-top:calc(0.5 * var(--section-padding-block));
	background-image:url('../images/start.svg');
	background-size:95%;
	background-repeat:no-repeat;
	background-position:center;
}
body.start section.keyvisual > figure img{
	aspect-ratio:auto;
}
body.start section.keyvisual div.container{
	margin-left:25%;
}
body.start section.keyvisual div.container p{
	font-size:1.5rem;
	line-height:1.3;
	margin:0;
}
body.start section.keyvisual div.container p:first-of-type{
	color:var(--grau);
}
body.start section.keyvisual div.container h2{
	font-weight:900;
	font-size:0.9rem;
	color:var(--grau);
	text-decoration:none;
	margin-bottom:1rem;
}
body.start section.keyvisual div.container h2 span{
	padding:0.25rem 0.9rem;
	background-color:var(--gelb-hell-1);
	border-radius:100vw;
}
body.start section.keyvisual div.container h2 span::selection{
	background-color:var(--weiss);
}


/** - Willkommen */

section.willkommen{
	background-color:var(--weiss);
}


/** - Termin vereinbaren */

section.termin-vereinbaren{
	background-color:var(--grau-hell-5);
}
section.termin-vereinbaren > p:nth-of-type(1){
	max-width:45ch;
}
section.termin-vereinbaren > p:nth-of-type(2){
	font-size:2rem;
}
section.termin-vereinbaren > p:nth-of-type(2) a{
	border-radius:0;
	background-color:transparent;
	box-shadow:none;
	padding:0;
}
section.termin-vereinbaren > p:nth-of-type(2) a::after{
	content:none;
}
section.termin-vereinbaren .box{
	width:40%;
	padding:calc(0.5 * var(--content-box-padding-inline));
}
section.termin-vereinbaren .box p b{
	color:var(--gelb);
}
section.termin-vereinbaren .box p:first-of-type{
	margin-bottom:calc(0.25 * var(--content-element-margin));
	line-height:1.2;
}


/** - Psychotherapie */

body.psychotherapie{
	background-color:var(--weiss);
}
section.psychotherapie{
	background-image:url('../images/welle.svg');
	background-size:100%;
	background-position:left bottom;
	background-repeat:no-repeat;
	padding-bottom:0;
}
section.psychotherapie figure{
	width:50%;
	margin-inline:auto;
	padding-top:var(--content-element-margin);
	position:relative;
}
section.psychotherapie figure figcaption{
	position:absolute;
	background-color:var(--grau-hell-2);
	color:var(--weiss);
	font-size:1rem;
	border-radius:100vw;
	padding:0.5rem 1.5rem;
	transform:translateY(-50%);
	z-index:1;
}


/** - Behandlungsspektrum */

section.behandlungsspektrum{
	background-color:var(--gelb);
}
section.behandlungsspektrum h2{
	color:var(--weiss);
	text-decoration-color:var(--gelb-hell-1);
}
section.behandlungsspektrum > p{
	color:var(--grau);
}
section.behandlungsspektrum > p:last-of-type{
	margin-bottom:calc(2 * var(--content-element-margin));
}
section.behandlungsspektrum .box{
	width:80%;
	border-color:var(--grau-hell-2);
}


/** - Behandlungsmethoden */

section.behandlungsmethoden{
	background-image:url('../images/welle.svg');
	background-size:100%;
	background-position:left bottom;
	background-repeat:no-repeat;
}
section.behandlungsmethoden h2{
	margin-bottom:calc(2.5 * var(--content-element-margin));
}
section.behandlungsmethoden div.container{
	display:grid;
	grid-template-columns:1fr 1fr;
	grid-gap:var(--content-grid-gap);
	margin-inline:10%;
}
section.behandlungsmethoden div.container .box h3{
	margin-bottom:var(--content-box-padding-block);
}
section.behandlungsmethoden div.container .box figure{
	width:calc(2 * var(--content-box-padding-inline) + 100%);
	margin-left:calc(-1 * var(--content-box-padding-inline));
	margin-bottom:var(--content-box-padding-block);
}
section.behandlungsmethoden div.container .box ul li{
	flex:0 0 100%;
}


/** - Therapieformen */

section.therapieformen{
	background-color:var(--grau-hell-5);
}
section.therapieformen h2{
	color:var(--grau);
	text-decoration-color:var(--gelb);
}
section.therapieformen > p:last-of-type{
	margin-bottom:calc(2 * var(--content-element-margin));
}
section.therapieformen .box{
	column-count:2;
	column-gap:var(--content-grid-gap);
	text-align:left;
}
section.therapieformen .box > *{
	break-inside: avoid-column;
}
section.therapieformen .box h3{
	margin-bottom:0;
}
section.therapieformen .box > p:first-of-type{
	line-height:1.2;
}
section.therapieformen .box > p.teaser,
section.therapieformen .box > p:last-of-type{
	font-size:1.1rem;
}
section.therapieformen .box .infos{
	border-radius:1rem;
	background-color:var(--gelb-hell-2);
	padding:var(--content-box-padding-inline);
	display:grid;
	grid-template-columns:1fr 1fr;
	font-size:1rem;
	line-height:1;
}
section.therapieformen .box .infos p{
	margin:0;
}
section.therapieformen .box .infos p:first-of-type{
	margin-bottom:1rem;
	font-weight:900;
}
section.therapieformen .box .infos b{
	font-size:4rem;
	display:block;
	color:var(--gelb);
}
section.therapieformen .box .infos i{
	font-size:1.2rem;
	font-style:normal;
	display:block;
	margin-bottom:0.5rem;
}
section.therapieformen .box .infos p:first-of-type{
	grid-column:span 2;
}


/** - Ablauf */

section.ablauf{
	background-color:var(--grau-hell-5);
	background-image:url('../images/welle.svg');
	background-position:center bottom;
	background-size:100%;
	background-repeat:no-repeat;
}
section.ablauf div.schritte{
	display:grid;
	grid-template-columns:repeat(var(--topics),1fr);
	grid-gap:var(--content-grid-gap);
	margin-top:calc(3 * var(--content-element-margin));
	counter-reset:schritt;
}
section.ablauf div.schritte h3{
	position:relative;
	padding:3rem 1rem;
	font-size:1.5rem;
	background-color:var(--weiss);
	border-radius:1rem;
	border:2px solid var(--grau-hell-3);
	cursor:pointer;
	counter-increment: schritt;
}
section.ablauf div.schritte h3::before{
	content:counter(schritt);
	position:absolute;
	left:50%;
	top:0;
	width:3rem;
	height:3rem;
	border-radius:50%;
	background-color:var(--gelb);
	display:flex;
	justify-content:center;
	align-items:Center;
	color:white;
	transform:translate(-50%,-50%);
}
section.ablauf div.schritte h3.active{
	background-color:var(--gelb-hell-1);
}
section.ablauf div.schritte h3.active::after{
	content:'';
	position:absolute;
	left:50%;
	bottom:-2.3rem;
	width:0;
	height:0;
	border-left:1.5rem solid transparent;
	border-right:1.5rem solid transparent;
	border-bottom:1.5rem solid var(--weiss);
	transform:translateX(-50%);
}
section.ablauf div.schritte .container{
	display:none;
	order:2;
	background-color:var(--weiss);
	border-radius:1rem;
	padding:var(--content-box-padding-inline);
}
section.ablauf div.schritte .container.active{
	display:block;
	grid-column:span var(--topics);
}


/** - Kosten */

section.kosten{
	background-color:var(--gelb);
}
section.kosten h2{
	color:var(--weiss);
	text-decoration-color:var(--gelb-hell-1);
}
section.kosten > p{
	color:var(--grau);
}
section.kosten .container{
	display:grid;
	grid-template-columns:1fr 1fr;
	grid-gap:var(--content-grid-gap);
	margin-top:calc(2 * var(--content-element-margin));
	margin-bottom:var(--content-grid-gap);
}
section.kosten div.container .box{
	border-color:var(--grau-hell-2);
}
section.kosten > .box{
	background-color:var(--gelb-hell-1);
	color:var(--grau);
}


/** - Downloads */

section.downloads h2{
	color:var(--grau);
	text-decoration-color:var(--gelb);
}
section.downloads p{
	margin-bottom:0;
}
section.downloads p + a {
	margin-block:calc(2 * var(--content-element-margin));
}

/** - Praxisräume */

section.praxisräume h2{
	color:var(--grau);
	text-decoration-color:var(--gelb);
}
section.praxisräume figure{
	width:50%;
	margin-inline:auto;
}


/** - Kontakt */

body.kontakt-anfahrt section.keyvisual{
	background-image:url('../files/public/kontakt-62027.webp?1682540403');
	background-size:cover;
}
body.kontakt-anfahrt section.keyvisual figure{
	backdrop-filter: blur(20px);
}
section.kontakt h2{
	color:var(--grau);
	text-decoration-color:var(--gelb);
}


/** - Anfahrt und Parken */

section.anfahrt-parken{
	background-color:var(--grau-hell-5);
	display:grid;
	grid-template-columns:1fr 1fr 1fr;
	grid-gap:var(--content-grid-gap);
}
section.anfahrt-parken h2{
	grid-column:span 3;
}
section.anfahrt-parken .box{
	margin:0;
}
section.anfahrt-parken .box figure{
	width:3rem;
	margin-inline:auto;
}

body.kontakt-anfahrt main > figure{
	background-color:var(--grau-hell-5);
}


/** - Rechtliches */

section.rechtliches h2{
	text-decoration-color:var(--weiss);
}
section.rechtliches h3{
	margin-top:calc(2 * var(--content-element-margin));
	margin-bottom:calc(0.5 * var(--content-element-margin));
}
section.rechtliches h4{
	font-weight:700;
	max-width:65ch;
	margin-inline:auto;
	margin-bottom:calc(0.25 * var(--content-element-margin));
}
section.rechtliches h5{
	text-decoration:underline;
	margin-bottom:0;
}
section.rechtliches p a{
	text-decoration:underline;
	text-decoration-color:var(--gelb);
}


/*** Footer */

footer{
	font-size:1.25rem;
	background-color:var(--gelb);
	padding-top:var(--section-padding-block);
	text-align:center;
}
footer > img{
	width:6rem;
	margin-inline:auto;
	margin-bottom:calc(0.5 * var(--content-element-margin));
}
footer p{
	margin-bottom:var(--content-element-margin);
}
footer > p:first-of-type{
	line-height:1.3;
}
footer > p:last-of-type{
	margin-bottom:0;
	color:var(--grau);
}
footer p b{
	font-size:2rem;
	color:var(--grau);
}
footer p i{
	font-style:normal;
}
footer div.container{
	display:grid;
	grid-template-columns:1fr 1fr;
	grid-gap:2rem;
	width:32rem;
	margin-inline:auto;
	border-top:2px solid var(--gelb-hell-1);
	border-bottom:2px solid var(--gelb-hell-1);
	text-align:left;
	margin-bottom:var(--content-element-margin);
	padding-block:1rem;
}
footer div.container p{
	margin:0;
	color:var(--grau);
}
footer div.container p a{
	display:block;
	padding-left:1.5rem;
	background-repeat:no-repeat;
	background-position:left center;
	background-size:1rem;
	text-decoration:underline;
	text-decoration-color:transparent;
	text-underline-offset:3px;
	transition:text-decoration 0.3s ease-in-out;
}
footer div.container p a:first-of-type{
	background-image:url('../images/e-mail.svg');
}
footer div.container p a:last-of-type{
	background-image:url('../images/telefon.svg');
}
footer div.container address{
	padding-left:1.5rem;
	background-repeat:no-repeat;
	background-position:left 0.4rem;
	background-size:1rem;
	background-image:url('../images/pin.svg');
	color:var(--grau);
}
footer nav{
	font-size:1rem;
	background-color:var(--grau);
	margin-top:var(--section-padding-block);
}
footer nav ul{
	display:flex;
	gap:1rem;
	color:var(--grau-hell-3);
	padding-inline:var(--section-padding-inline);
}
footer nav ul li{
	padding:0.75rem 0;
}
footer nav ul li:first-of-type{
	margin-right:auto;
}
footer nav ul li a{
	color:var(--grau-hell-3);
}


/*** Mobile Menu */

/** - Button */

#mobile-menu{
	position:absolute;
	top:50%;
	right:var(--section-padding-inline);
	transform:translateY(-50%);
	z-index:1;
	width:var(--mobile-menu-width);
	height:var(--mobile-menu-width);
	cursor:pointer;
}
#mobile-menu span{
	position:absolute;
	width:80%;
	height:2px;
	left:10%;
	top:50%;
	background-color:var(--grau);
	transition:all 0.3s ease-in-out;
	border-radius:100vw;
}
#mobile-menu span:first-of-type{
	top:25%;
}
#mobile-menu span:last-of-type{
	top:75%;
}
#mobile-menu.open span{
	opacity:0;
}
#mobile-menu.open span:first-of-type,
#mobile-menu.open span:last-of-type{
	transform:rotate(45deg);
	opacity:1;
	top:50%;
}
#mobile-menu.open span:last-of-type{
	transform:rotate(-45deg);
}


/** - Content */

#mobile-menu-content{
	width:100%;
	height:calc(100vh - var(--header-height));
	background-color:var(--grau-hell-5);
	background-image:url('../images/welle.svg');
	background-position:left bottom;
	background-repeat:no-repeat;
	position:fixed;
	top:var(--header-height);
	left:-100%;
	z-index:4;
	display:flex;
	align-items:flex-start;
	transition:left 0.5s cubic-bezier(0.52,0.16,0.24,1);
}
#mobile-menu-content.open{
	left:0;
}
#mobile-menu-content > div{
	width:100%;
	height:calc(100vh - var(--header-height));
	display:flex;
	flex-wrap:wrap;
	align-items:flex-start;
}
#mobile-menu-content > div > ul{
	width:100%;
	margin-top:3em;
}
#mobile-menu-content ul li{
	display:flex;
	justify-content:center;
	flex-direction:column;
	text-align:center;
	border-top:1px solid var(--weiss);
}
#mobile-menu-content ul li:last-of-type{
	border-bottom:1px solid var(--weiss);
}
#mobile-menu-content ul li a{
	display:block;
	padding:0.5em;
	font-size:1.5em;
	text-decoration:none;
	color:var(--grau);
	position:relative;
}
#mobile-menu-content ul li a::after{
	content:'';
	position:absolute;
	right:var(--section-padding-inline);
	top:50%;
	transform:translateY(-50%) rotate(45deg);
	width:0.5em;
	height:0.5em;
	border-top:2px solid var(--gelb);
	border-right:2px solid var(--gelb);
	transition:right 0.3s ease-in-out;
}
#mobile-menu-content ul li a.active{
	text-decoration:underline;
	text-decoration-color:var(--gelb);
}


/*** Media Queries */

/** - Hovers */

@media (hover:hover){
	header nav ul li a:hover{
		text-decoration:underline;
		text-decoration-color:var(--gelb);
		text-underline-offset:3px;
	}
	section a.button:hover,
	button:hover{
		background-color:var(--gelb);
		box-shadow:0 0 2em var(--schwarz-t20);
	}
	section a.button:hover::after,
	button:hover::after{
		right:1.5em;
	}
	footer div.container p a:hover{
		text-decoration-color:var(--weiss);
	}
	footer nav ul li a:hover{
		text-decoration:underline;
		text-decoration-color:var(--grau-hell-3);
		text-underline-offset:3px;
	}
}


/** - Tablet Querformat */

@media (max-width:85rem){
	body{
		--section-padding-inline:3rem;
		--content-width:65rem;
		--header-height:8rem;
		--header-small:0.4;
	}
	header h1 a{
		background-size:55%;
	}
	header.small h1 a{
		background-size:30%;
	}
	body.start section.keyvisual div.container{
		margin-left:20%;
	}
	section.behandlungsmethoden div.container{
		margin-inline:0;
	}
	section.behandlungsmethoden{
		background-size:200%;
	}
	section.therapieformen .box > p.teaser,
	section.therapieformen .box > p:last-of-type{
		font-size:inherit;
	}
}


/** - Tablet Hochformat */

@media (max-width:64.5rem){
	body{
		--content-width:100%;
		--section-padding-block:5rem;
		--header-height:7rem;
		--content-grid-gap:1rem;
	}
	header nav{
		position:static;
		display:flex;
		transform:none;
	}
	header nav ul{
		display:none;
	}
	header h1 a{
		background-size:50%;
	}
	section h2{
		font-size:2em;
	}
	body.start section.keyvisual{
		grid-template-columns:1fr;
	}
	body.start section.keyvisual div.container{
		margin-left:0;
		padding-top:var(--section-padding-block);
	}
	body.start section.keyvisual div.container > *{
		text-align:center;
	}
	body.start section.keyvisual figure{
		margin-top:0;
	}
	body.start section.keyvisual figure img{
		width:80%;
		margin-inline:auto;
	}
	section.termin-vereinbaren .box{
		width:60%;
	}
	section.psychotherapie figure{
		width:60%;
	}
	section.therapieformen .box{
		column-count:1;
		text-align:center;
	}
	section.ablauf div.schritte{
		grid-template-columns:1fr;
		grid-gap:0.5rem;
		margin-top:calc(2 * var(--content-element-margin));
	}
	section.ablauf div.schritte h3{
		padding:0.75rem;
		font-size:1.3rem;
	}
	section.ablauf div.schritte h3::before{
		left:0.75rem;
		top:50%;
		transform:translateY(-50%);
		width:2rem;
		height:2rem;
	}
	section.ablauf div.schritte h3::after,
	section.ablauf div.schritte h3.active::after{
		content:'';
		position:absolute;
		right:0.75rem;
		left:auto;
		top:45%;
		width:0;
		height:0;
		border-left:0.5rem solid transparent;
		border-right:0.5rem solid transparent;
		border-top:0.5rem solid var(--grau-hell-2);
		border-bottom:0;
		transform:translateX(-50%);
	}
	section.ablauf div.schritte h3.active::after{
		border-bottom:0.5rem solid var(--weiss);
		border-top:0;
		top:40%;
	}
	section.ablauf div.schritte .container{
		padding:1rem;
		order:0;
	}
	section.ablauf div.schritte .container.active{
		grid-column:1;
	}
	section.kosten .container{
		grid-template-columns:1fr;
	}
}
@media (max-width:54rem){
	section.behandlungsmethoden div.container{
		grid-template-columns:1fr;
		margin-inline:0;
	}
	section.therapieformen .box h3{
		hyphens:auto;
	}
	section.anfahrt-parken{
		grid-template-columns:1fr;
	}
	section.anfahrt-parken h2{
		grid-column:1;
	}
	section.anfahrt-parken .box{
		margin-inline:10%;
	}
}

/** - Smartphone */

@media (max-width:35rem){
	body{
		--section-padding-block:4rem;
		--section-padding-inline:1.5rem;
		--logo-width:12rem;
		--header-height:5.5rem;
		--content-element-margin:1rem;
		--content-grid-gap:1rem;
		--content-box-padding-block:1.25rem;
		--content-box-padding-inline:1.25rem;
		line-height:1.4;
	}
	section{
		font-size:1.1rem;
	}
	section h2{
		font-size:1.8em;
		hyphens:auto;
		text-decoration-thickness:0.3rem;
	}
	section h3{
		font-size:1.2em;
	}
	section p{
		hyphens:auto;
	}
	section.pfeil::before{
		border-width:1rem;
		border-bottom-width:0;
	}
	section.keyvisual > figure{
		overflow:hidden;
		display:flex;
		justify-content:center;
		aspect-ratio:2/1.5;
	}
	section.keyvisual > figure img{
		height:100%;
		object-fit:cover;
	}
	body.start section.keyvisual{
		grid-template-columns:1fr;
		padding-bottom:var(--section-padding-block);
	}
	body.start section.keyvisual div.container{
		order:2;
		padding:0;
	}
	body.start section.keyvisual div.container p{
		font-size:1.2rem;
		hyphens:none;
	}
	body.start section.keyvisual div.container p b{
		hyphens:none;
	}
	body.start section.keyvisual div.container h2{
		line-height:1.4;
		background-color:Var(--gelb-hell-1);
		border-radius:0.5rem;
		padding:0.35rem;
	}
	body.start section.keyvisual div.container h2 span{
		background-color:transparent;
	}
	body.start section.keyvisual figure{
		overflow:hidden;
		display:flex;
		justify-content:center;
		order:1;
		margin-top:calc(0.5 * var(--section-padding-block));
	}
	body.start section.keyvisual figure img{
		width:120%;
	}
	section.termin-vereinbaren .box{
		width:100%;
	}
	section.psychotherapie figure{
		width:100%;
	}
	section.behandlungsspektrum{
		padding-top:calc(1.5 * var(--section-padding-block));
	}
	section.behandlungsspektrum .box{
		width:100%;
	}
	section.behandlungsmethoden{
		background-size:400%;
	}
	section.behandlungsmethoden h2{
		margin-bottom:calc(2 * var(--content-element-margin));
	}
	section.kontakt p:first-of-type{
		hyphens:none;
	}
	section.anfahrt-parken .box{
		margin-inline:0;
	}
	section.rechtliches{
		font-size:1rem;
	}
	footer{
		padding-inline:var(--section-padding-inline);
		line-height:1.2;
	}
	footer p{
		font-size:1.1rem;
		max-width:26ch;
		margin-inline:auto;
	}
	footer p b{
		font-size:1.5rem;
	}
	footer p i{
		display:block;
		margin-top:0.5rem;
	}
	footer div.container{
		display:grid;
		width:100%;
		grid-template-columns:1fr;
		grid-gap:1rem;
	}
	footer div.container p{
		font-size:1.25rem;
		display:flex;
		flex-wrap:wrap;
		flex-direction:column;
		justify-content:center;
		max-width:none;
	}
	footer div.container p a{
		display:block;
		padding-block:0.5rem;
		margin-inline:auto;
	}
	footer div.container address{
		text-align:center;
		padding:2rem 0 0 0;
		background-position:center top;
		background-size:1.5rem;
	}
	footer nav{
		border-radius:1rem 1rem 0 0;
	}
	footer nav ul{
		display:block;
		padding-top:1rem;
	}
	footer nav ul li{
		padding:0;
	}
	footer nav ul li:first-of-type,
	footer nav ul li a{
		display:block;
		padding:1rem;
	}
	footer nav ul li a{
		border-top:1px solid var(--grau-hell-1);
	}
}

@media (max-width:23rem){
	section{
		font-size:1rem;
	}
	body.start section.keyvisual div.container p{
		font-size:1rem;
		hyphens:none;
	}
}