
@font-face {
   font-family: 'afacad';
   src: url('Afacad-Regular.woff2') format('woff2');
   font-weight: 400;
   font-style: normal;
}

@font-face {
   font-family: 'afacad';
   src: url('Afacad-SemiBold.woff2') format('woff2');
   font-weight: 600;
   font-style: normal;
}

@font-face {	
   font-family: 'afacad';
   src: url('Afacad-ExtraBold.woff2') format('woff2');
   font-weight: 800;      
   font-style: normal;
}

::selection {
	background: #000000;
	color: #ffffff;	
}

::-moz-selection {
   	background: #000000;
	color: #ffffff;
}


body {
	font-family: 'afacad', sans-serif;
	overflow-x: hidden;
	color: #000000;
}

h1 {
	display: none;
}

a,
a:hover,
a:visited,
a:focus,
a:active {
	color: #ffffff;
}

img {
	width:100%;
}

.leistungen {
	overflow: hidden;
}

h2 {
	font-size: 48px;
	font-weight: 700;
	line-height:42px;
	display: inline-block;
}

.h2-div {
    display: inline-block;
    width: 10px;
}

.h2-div::after {
    content: "";
    height: 6px;
    width: 100vw;
    margin-left: 15px;
    background: #ca0928;
    display: block;
}

.white-bg h2 {
	padding-top: 60px;
}

body > .container {
	padding-top: 15vh;	
}

.red-bg {
	padding-top: 256px;	
}

.red-bg::after {
    content: "";
    height: 100vh;
    width: 50vw;
    display: block;
    position: absolute;
    background: #ca0928;
    top: 0;
    z-index: -1;
	margin-left: -20px;
}

.red-bg h2,
.red-bg p {
	color: #ffffff;	
	line-height: 42px;
	position: relative;
}

.red-bg h2::after {
    content: "";
    height: 6px;
    width: 96px;
    margin-left: 15px;
    background: #ffffff;
    display: block;
    position: absolute;
    bottom: 6px;
    right: -20px;
}

.contact-name {
	font-size: 36px;
	font-weight: 600;	
}

.impressum {
	font-size:24px;
	white-space: nowrap;
}

.impressum a {
	text-decoration: none;	
}

.impressum img {
    display: inline-block;
    height: auto;
    width: 28px;
	margin-right: 6px;
	margin-top: -2px;
}


.slideCol {
	text-align: left;
    overflow: hidden;
	font-weight: 900;
	font-size: 36px;
	display: block;

}
.slideCol p { margin: 0px !important; }

.scroller {
   height: 126px;
   line-height: 126px;
   overflow: hidden;
}
.scroller .inner { 
	animation: 20s normal infinite running scroll;
	font-weight: 400;
}
@keyframes scroll {
   0%  	{margin-top: 0px;}
   10% 	{margin-top: 0px;}

   15%  {margin-top: -126px;}
   35%  {margin-top: -126px;}
   
   40%  {margin-top: -252px;}
   60%  {margin-top: -252px;}

   65%  {margin-top: -378px;}
   85%  {margin-top: -378px;}

   90%  {margin-top: -504px;}
   100%  {margin-top: -504px;}
}

@media screen and (max-width: 1400px) {
	h2 {
		font-size: 36px;
		line-height:32px;
	}
	
	.red-bg h2, .red-bg p {
		line-height: 32px;
	}	
	
	.contact-name {
		font-size: 24px;
	}	
	
	.impressum {
		font-size: 20px;
	}	
	
	.impressum img {
		width: 22px;
		margin-top: -3px;
	}	
	
	.red-bg h2::after {
		width: 72px;
		bottom: 9px;
		right: 10px;
	    height: 4px;	
	}	
	
	.h2-div::after {
		height: 4px;
	}	
	
	.red-bg {
		padding-top: 234px;
	}	
	
	.slideCol {
		font-size: 24px;
	}	
	
	.scroller {
		height: 108px;
		line-height: 108px;
		overflow: hidden;
	}
	
	@keyframes scroll {
	   0%  	{margin-top: 0px;}
	   10% 	{margin-top: 0px;}
	
	   15%  {margin-top: -108px;}
	   35%  {margin-top: -108px;}
	   
	   40%  {margin-top: -216px;}
	   60%  {margin-top: -216px;}
	
	   65%  {margin-top: -324px;}
	   85%  {margin-top: -324px;}
	
	   90%  {margin-top: -432px;}
	   100%  {margin-top: -432px;}
	}
		
}

@media screen and (max-width: 1200px) {

	.red-bg {
		/*position: relative;*/
	}
	
	.red-bg {
		padding-top: 56px;
	}
	
	.red-bg::after {
		height: 32vh;
		width: 100vw;
		margin-left: 0;
		left: 0;
		top: 68vh;
	}
	
	body > .container {
		padding-top: unset;
	}
	
	.red-bg h2::after {
		width: 128px;
		bottom: 4px;
		right: -80px;
		height: 4px;
	}
	
	.white-bg {
		height: 68vh;
		padding-top: 12vh;
	}	
	.slideCol {
		font-size: 28px;
	}

}

@media screen and (max-width: 992px) {

}

@media screen and (max-width: 767px) {

	.white-bg {
		height: 60vh;
		padding-top: 10vh;
	}	
	
	.red-bg::after {
		height: 40vh;
		top: 60vh;
	}	
	
	.scroller {
		height: 108px;
		line-height: 32px;
		overflow: hidden;
	}	
	
	.inner p {
		padding: 22px 0 !important;	
	}

}

@media screen and (max-width: 576px) {

	.container > .row > div {
		padding-right: calc(var(--bs-gutter-x) * 1);
		padding-left: calc(var(--bs-gutter-x) * 1);
	}
	img {
		width: 86%;
	}
	
	.white-bg {
		height: 56vh;
		padding-top: 6vh;
	}	
	
	h2 {
		font-size: 24px;
		line-height: 22px;
	}	
	
	.red-bg::after {
		height: 44vh;
		top: 56vh;
	}	
	
	.slideCol {
		font-size: 19px;
	}
	
	.red-bg h2, .red-bg p {
		line-height: 22px;
	}
	
	.red-bg h2::after {
		width: 108px;
		bottom: 4px;
		right: -80px;
		height: 3px;
	}	
	
	.red-bg {
		padding-top: 24px;
	}	
	
	.contact-name {
		font-size: 22px;
	}
	.impressum {
		font-size: 18px;
	}
	
	.impressum img {
		width: 18px;
		margin-top: -2px;
	}
	
	.col-12 {
    	flex: 0 0 auto;
		width: 94%;
	}
	

}

@media screen and (max-width: 350px) {

}