:root{
	--red:#E2001A;
	--gray-700:#707070;
	--gray-500:#87888A;
	--gray-300:#D9DADB;
	--bg-100:#F7F7F7;
	--bg-200:#F2F2F2;
	--ink:#000;

	--font:"Open Sans", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
	--fs-12:clamp(12px,10px + 0.2vw,12px);
	--fs-14:clamp(14px,12px + 0.2vw,14px);
	--fs-16:clamp(16px,14px + 0.3vw,16px);
	--fs-20:clamp(20px,16px + 0.6vw,20px);
	--fs-26:clamp(26px,20px + 1vw,26px);
	--fs-32:clamp(32px,20px + 1.5vw,32px);
	--fs-40:clamp(28px,20px + 2.5vw,40px);

	--radius:12px;
	--container:1920px;
	--shadow-1:0 2px 12px rgb(0 0 0 / .08);
	--shadow-2:0 16px 40px rgb(0 0 0 / .12);

	--space-1:4px;
	--space-2:8px;
	--space-3:12px;
	--space-4:16px;
	--space-5:24px;
	--space-6:32px;
	--space-7:48px;
	--space-8:72px;

	/* Wellenhöhen */
	--wave-height-dt: 170px;
	--wave-height-mb: 140px;
}

*{
	box-sizing:border-box
}
html,body{
	height:100%
}
body{
	margin:0;
	font-family:var(--font);
	color:var(--ink);
	line-height:1.6;
	background:var(--bg-100);
}
img{
	max-width:100%;
	display:block
}
.scmb-container{
	/* width:100%; */
	max-width:var(--container);
	margin-inline:auto;
	position: relative;
}

.scmb-frame {
	display: block;
	width: 100%;
	max-width: var(--container);
	margin: 0 auto;
	
	
	background-image: url("../../images/scmb/scmb_bg.jpg");
	background-repeat: no-repeat;
	background-color: #FFF;
	background-attachment: fixed;
	
	/* transition: all 0.5s ease-in-out; */
	background-size: auto;
	background-position-x: center;
}

#main {
	display: inline-block;
	width: 100%;
	position: relative;
}

.sr-only{
	position:absolute;
	width:1px;
	height:1px;
	clip:rect(0 0 0 0);
	overflow:hidden;
	white-space:nowrap
}

.skip-link{
	position:absolute;
	left:-9999px;
	top:auto
}
/*
.skip-link:focus{
	left:var(--space-4);
	top:var(--space-4);
	background:#fff;
	padding:var(--space-2) var(--space-3);
	border-radius:8px;
	box-shadow:var(--shadow-1)
}
*/
.h1{
	font-size:var(--fs-40);
	color:var(--red);
	line-height:1.1;
	margin:0 0 var(--space-2);
	font-weight: normal;
}

h2{
	font-size:var(--fs-32);
	color:var(--red);
	line-height:1.1;
	margin:0 0 var(--space-2);
	font-weight: normal;
}

.h3{
	font-size:var(--fs-26);
	line-height:1.2;
	margin:0 0 var(--space-2);
	font-weight: normal;
}
.h5{
	font-size:var(--fs-16);
	line-height:1.2;
	margin:0
}

a {
	color: var(--ink);
	text-decoration: none;
}

.dotted-red {
	border-top: 2px dotted var(--red);
	margin: 0 8%;
	width: 84%;
	position: absolute;
	bottom: 0;
}
.eyebrow{
	font-weight:600;
	color:var(--gray-700);
	font-size:var(--fs-16)
}
.lead{
	font-size:var(--fs-16);
	color:var(--ink)
}
.muted{
	font-size: 0.9em;
	display: flex;
	gap: 10px;
}

.muted img {
	width: 80px;
	height: 80px;
	display: inline-block;	
}

.text-big {
	font-size: var(--fs-20);
}

.accent{
	color:var(--red)
}
.icon{
	width:1.1em;
	height:1.1em;
	vertical-align:-2px
}
.btn{
	--btn-bg:#fff;
	--btn-ink:var(--ink);
	--btn-bd:var(--gray-300);
	display:inline-flex;
	gap:8px;
	align-items:center;
	justify-content:center;
	font-weight:600;
	border:1px solid var(--btn-bd);
	background:var(--btn-bg);
	color:var(--btn-ink);
	padding:10px 14px;
	border-radius:10px;
	text-decoration:none;
	box-shadow:var(--shadow-1)
}
.btn--ghost{
	background:transparent
}

/* Header + Wellen */
.site-header{
	position:absolute;
	z-index:1
}
.header-top{
	position:relative;
	color:#fff;
	isolation:isolate
}
.header-top__inner {
	position: absolute;
	top: 0;
	display:flex;
	align-items:center;
	margin: 0 8%;
	width: 84%;
}
.brand{
	display: inline-block;
	flex-basis: 40%;
}

.brand img {
	width: 80%;
	max-width: 400px;
}
.brand__title{
	font-size:var(--fs-14);
	line-height:1.1
}

.site-nav ul {
	list-style: none;
}

.site-nav ul li {
	display: inline;
	margin: 20px;
}

.site-nav ul li a {
	color: #FFF;
	text-decoration: none;
	font-size: 20px;
}

.burger-menu {
	display: none;
	position: absolute;
	top: 50px;
	right: 0;
	background: #999;
	box-shadow: 5px 5px 5px #000;
}

.burger-menu ul {
	list-style: none;
	margin: 0;
	padding: 10px;
}

.burger-menu ul li {
	margin: 0;
}

.burger-menu ul li a {
	color: #FFF;
	text-decoration: none;
	font-size: var(--fs-16);
}

.burger-menu ul li a:hover {
	text-decoration: underline;
}
	
/* beide Wellen haben Drop-Shadow; nur eine sichtbar je Breakpoint */
.header-wave{
	display:block;
	filter: drop-shadow(0 1px 0 rgba(0,0,0,.03)) drop-shadow(0 8px 24px rgba(0,0,0,.12));
	width: 100%;
	max-width: var(--container);
	margin: 0 auto;
}
.wave--desktop{
	height: var(--wave-height-dt);
	display:block;
}
.wave--mobile {
	height: var(--wave-height-mb);
	display:none;
}

.search {
	position: relative;
}

.search input {
	border: 1px solid #FFF;
	border-radius: 20px;
	padding: 8px 8px 8px 40px;
	font-size: var(--fs-14);
}

.search img {
	position: absolute;
	width: 20px;
	height: auto;
	left: 15px;
	top: 7px;
}

/* Hero */
.hero{
	padding: 0 0 100px;
}
.breadcrumb{
	font-size:var(--fs-12);
	color:var(--gray-700)
}
.breadcrumb ol{
	display:flex;
	gap:8px;
	list-style:none;
	margin:0 0 16px;
	padding:0;
	flex-wrap:wrap
}
.breadcrumb a{
	color:inherit;
	text-decoration:none
}
.hero-card {
	background-color: rgba(255, 255, 255, 0.7);
	border-radius: 0px 0px 20px 20px;
	position:relative;
	padding: 200px 24px 20px;
	box-shadow:var(--shadow-2);
	margin: 0 8%;
}
.hero-grid{
	display:grid;
	grid-template-columns:1.2fr .8fr;
	gap:40px;
	align-items:start
}
.hero-aside .badge-cta{
	display:inline-flex;
	align-items:center;
	background:var(--red);
	padding:14px 16px;
	border-radius: 50%;
	position: absolute;
	width: 180px;
	height: 180px;
	bottom: -90px;
}

.hero-aside .badge-cta a {
	color:#fff;
	text-decoration:none;
	font-size: 20px;
	text-align: center;
	margin: 0 auto;
}

.hero-bg{
	position:relative;
	margin-top:24px;
	border-radius:12px;
	overflow:hidden
}
.hero-bg img{
	width:100%;
	height:auto
}
.hero-bg__title{
	position:absolute;
	left:50%;
	top:12px;
	transform:translateX(-50%);
	color:#fff;
	text-transform:uppercase;
	letter-spacing:.2em;
	font-size:var(--fs-14);
	text-shadow:0 2px 8px rgb(0 0 0 / .4)
}

/* Module */

#module {
	background: #FFF;
	margin-top: 100px;
}


.section{
	padding:72px 0;
	position: relative;
	background: #FFF;
	margin: 0;
}

#section-select {
	background: none;
}
/*
.section--alt{
	background:var(--bg-100)
}
*/

.section-head {
	color: #FFF;
	font-size: var(--fs-26);
	font-weight: normal;
	text-align: center;
	margin: 40px 0 80px;
	text-transform: uppercase;
}

.module-grid{
	list-style:none;
	margin: -170px 8% 0;
	padding:0;
	display:grid;
	gap:24px;
	grid-template-columns:repeat(6,minmax(0,1fr));	
	z-index: 1;
}

.module-card{
	display:grid;
	place-items:center;
	gap:8px;
	text-align:center;
	min-height:130px;
		cursor: pointer;
}
/*
.module-card:hover,.module-card:focus-within{
	outline:2px solid color-mix(in srgb,var(--red),#fff 65%);
	outline-offset:2px
}
*/
.module-card h3 {
	color: var(--gray-700);
	background-color: #FFF;
	border-radius: 20px;
	padding: 5px 10px;
	font-size: var(--fs-14);
	overflow: hidden;
}

#pendlerberatung {
	padding-top: 600px;
}
/* Feature */
.feature{
	display:grid;
	grid-template-columns: 25% auto 25%;
	gap:32px;
	align-items:normal;
}
.feature--reverse{
	grid-template-columns:1.1fr .9fr
}
.feature__media img{
	width:100%;
}

img.feature_icon {
	width: 180px;
	float: right;
}
	
.feature__body .lead{
	color:var(--gray-700)
}

.feature__body h3 {
	font-size: var(--fs-40);
	color: var(--red);
}

.feature__body img {
	width: 300px;
}

.feature__contact_900 {
	display: none;
	float: right;
}
	
.scmb-contact {
	display: inline-block;
}

.scmb-contact a {
	display: inline-block;
}

img.scmb-contact-icon {
	width: 40px;
}

.module-back {
	position: absolute;
	bottom: 0;
}

.module-back img {
	width: 30px;
	height: 30px;
}


.meta{
	display:flex;
	gap:12px;
	align-items:center;
	flex-wrap:wrap;
	margin-top:12px
}
.pill{
	background:var(--bg-200);
	border:1px solid var(--gray-300);
	border-radius:999px;
	padding:6px 10px;
	font-size:var(--fs-12)
}
.link-back{
	color:var(--red);
	text-decoration:none;
	font-weight:600;
	display:inline-flex;
	gap:6px;
	align-items:center
}

/* Team */

.team__head {
	margin: 0 8% 24px 25%;
	padding: 0 32px;
}

.team-grid{
	list-style:none;
	margin: 0 8%;
	padding:0;
	display:grid;
	gap:10px;
	grid-template-columns:repeat(7,1fr)
}

.person-card{
	display:grid;
	grid-template-rows:min-content;
	gap:8px;
	justify-items:start;
	background:#fff;
	border:1px solid var(--gray-300);
	border-radius:12px;
	padding:12px;
	box-shadow:var(--shadow-1)
}
.person-avatar{
	border: 1px solid var(--gray-700);
	border-radius: 50% 50%;
	background-repeat: no-repeat;
	background-position: center 0;
	display: inline-block;
	width: 100%;
	padding-bottom: 100%;
	background-size: cover;
}

.person-meta {
	width: 100%;
}
.person-meta .h5{Update Landing Page
	margin-bottom: 4px;	
	text-align: center;
}

.person-meta .muted {
	text-align: center;
	word-break: break-word;
}

.feature__contact p, .feature__contact_900 p {
	width: 100%;
	margin: 10px 0;
}

.feature__contact .person-avatar, .feature__contact_900 .person-avatar {
	width: 70px;
	padding-bottom: 70px;	
}


.feature__contact .person-contact, .feature__contact_900 .person-contact {
	display: flex;
	gap: 20px;
}

.tag{
	margin-left:auto;
	padding:4px 8px;
	border-radius:999px;
	font-size:var(--fs-12);
	background:var(--bg-200);
	border:1px solid var(--gray-300)
}
.tag--red{
	background:color-mix(in srgb,var(--red),#fff 80%);
	border-color:color-mix(in srgb,var(--red),#000 15%);
	color:var(--red)
}

/* Footer */
.site-footer{
	background:var(--gray-500);
	border-top:1px solid var(--gray-300);
	position: relative;
}

.footer-inner{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:16px;
	padding:24px 8%;
	flex-wrap:nowrap;
	justify-content: space-around;
	align-items: start;
}
.footer-col{
	flex: 1 1 25%;
	color: #FFF;
}

.footer-col ul {
	list-style: none;
	margin: 0;
	padding: 0; 
}
.footer-col a{
	color:inherit;
	text-decoration:none
}
.footer-col a:hover {
	text-decoration: underline;
}

.footer-col img {
	width: 170px;
}

.footer-socials img {
	width: 40px;
	display: inline;
}

.footer-socials a:hover {
	text-decoration: none;
}

.footer-meta{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:16px;
	padding:16px 0 32px;
	color:var(--gray-700)
}
.footer-meta .small a{
	color:inherit;
	text-decoration:none
}

.scmb-popup {
	display: none;
	position: absolute;
	width: 400px;
	height: auto;
	box-shadow: -5px -5px 10px rgba(0, 0, 0, 0.1607843137);
	background-color: #FFFFFF;
	z-index: 10;
	max-width: 90%;
	padding: 10px;
}

.scmb-popup .close {
	position: absolute;
	top: 6px;
	right: 10px;
	background: none;
	border: none;
	font-size:var(--fs-32);
	cursor: pointer;
}

.scmb-popup input, .scmb-popup textarea {
	width: 100%;
	font-size:var(--fs-14);
	padding: 5px;
	margin: 5px 0;
}

.scmb-popup .popup-heading {
	border-bottom: 2px dotted var(--red);
	cursor: move;
}

.scmb-popup .popup-heading h3 {
	color: var(--red);
	margin: 0 10px 10px 0;
	font-size: var(--fs-20);
}

#sticky-contact {
	display: none;
	width: 50px;
	height: 50px;
	position: absolute;
	right: 0;
	background-color: #FFF;
	transition: top 0.5s ease;
	top: 30vH;
	z-index: 800;
	
}

#section-contact {
	background-color: var(--red);
	display: none;
}

#section-contact p, #section-contact a, #section-contact h3 {
	color: #FFF;
}

.burger-nav {
	background: none;
	border: 1px solid #000;
	border-radius: 5px;
	width: 50px;
	display: none;
}

#wait-ovl {
	position: fixed;
	display: none;
	top: 0;
	left: 0;
	z-index: 10000;
}

#wait-ovl div {
	width: 100%;
	height: 100%;
	background-color: #666666;
	opacity: 0.4;
}

#wait-ovl img {
	position: absolute;
	width: 128px;
	height: 128px;
}


@media (max-width:1200px){
	.team-grid{
		grid-template-columns:repeat(4,1fr)
	}
	
	.module-grid{
		grid-template-columns:repeat(4,1fr)
	}
	
	
}

@media (max-width:1000px){
	.wave--desktop{
		display:none;
	}
	
	.wave--mobile {
		display:block;
	}
	
	.header-top__inner {
		margin: 10px 4%;	
		width: 92%;
	}
	
	.team-grid{
		grid-template-columns:repeat(3,1fr)
	}
	
	.module-grid{
		grid-template-columns:repeat(3,1fr);
		margin: -170px 4% 0;
	}
	
	.site-nav {
		display: none;
	}
	.hero-card {
		margin: 0 4%;
	}
	
	.feature {
		grid-template-columns: 40% auto;
		gap: 16px;
	}
	
	.feature__body {
		padding: 0 4% 0 0;
	}
	
	.feature__contact {
		display: none;
	}
	
	.feature__contact_900 {
		display: block;
		float: left;
		margin: 0 0 0 20%;
		width: 80%;
	}
	
	.feature__body h3 {
		font-size: var(--fs-32);
	}
	
	.scmb-contact {
		width: 100%;
	}

	.module-back {
		position: relative;
		bottom: unset;
		float: right;
		clear: both;
	}
}

@media (max-width:600px){
	.scmb-frame {
		background-image: url("../../images/scmb/scmb_bg_portrait.jpg");
	}
	
	.header-top__inner {
		margin: 5px 4%;
		width: 92%;
	}
	
	.brand {
		flex-basis: 80%;
	}
	
	.burger-nav {
		display: flex;
		flex-basis: 10%;
		margin: 5px 0 0 10%;
		align-self: start;
	}
	
	.search {
		display: none;
	}

	.hero-card {
		padding: 140px 10px 20px;
	}
	
	.team-grid{
		grid-template-columns:repeat(2,1fr)
	}
	
	.module-grid{
		grid-template-columns:repeat(2,1fr);
		margin: 0 4% 0;
	}
	
	.hero-grid {
		grid-template-rows: auto;
		grid-template-columns: unset;
		gap: unset;
	}
	
	.hero-aside .badge-cta {
		bottom: unset;
	}
	
	.section-head {
		margin: 80px 4% 0;
	}
	
	.section {
		padding: 36px 0;
	}
	
	#section-select {
		padding: 0;
	}
	
	.module-card h3 {
		font-size: var(--fs-12);
	}
	
	.feature {
		grid-template-columns: unset;
		grid-template-rows: auto;
		gap: 16px;
	}
	
	.feature__body, .feature__contact {
		padding: 0 4%;
	}
	
	.feature__media img {
		width: 60%;
	}
	
	img.feature_icon {
		width: 40%;
		float: left;
	}	
	
	.feature__contact {
		display: block;
	}
	
	.feature__contact_900 {
		display: none;
	}
	
	.feature__body h3 {
		font-size: var(--fs-26);
	}
	
	.module-back {
		position: relative;
		bottom: unset;
		float: right;
		clear: both;
	}
	
	.dotted-red {
		margin: 0;
		width: 100%;
	}
	
	.team__head {
		margin: 0 4% 24px;
		padding: 0;
	}
	
	.team-grid {
		margin: 0 4%;
	}
	
	.footer-inner {
		padding: 24px 4%;
		flex-wrap: wrap;
		flex-direction: row; 
	}
	
	.footer-col {
		flex: 0 0 47%;
	}
	
	#sticky-contact {
		display: inline-block;
		border: 1px solid var(--red);
		border-right: none;
		border-radius: 5px 0 0 5px;
		text-align: center;
	}
	
	#sticky-contact a {
		font-size: var(--fs-12);
		color: var(--red);
		
	}
	
	#sticky-contact img {
		width: 40px;
		display: block;
		margin: 4px auto 0;
	}
	
	#sticky-contact span {
		position: absolute;
		bottom: -3px;
		left: 4px;
	}
	
	#section-contact {
		display: inline-block;
	}
	
	
}


/* Reveal */
/*
.reveal{
	opacity:0;
	transform:translateY(8px)
}
.reveal.is-in{
	opacity:1;
	transform:none;
	transition:opacity .4s ease,transform .4s ease
}

@media (prefers-reduced-motion: reduce){
	*{
		transition:none !important;
		animation:none !important
	}
}
*/

@media print {
	.scmb-frame {
		display: block;
		width: 100%;
		max-width: var(--container);
		margin: 0 auto;
		background-attachment: unset;
	}

	#main {
		display: block;
	}

	section {
		break-after:page;
	}
	
	.section-head {
		color: var(--ink);
	}
	
	.dotted-red {
		display: none;
	}
	
	.team-grid {
		grid-template-columns: repeat(3, 1fr);
	}
	
	.module-back {
		display: none;
	}
}
