@charset "UTF-8";

/* pt-sans-regular - latin */
@font-face {
	font-family: 'PT Sans';
	font-style: normal;
	font-weight: 400;
	src: url('fonts/pt-sans-v17-latin-regular.eot'); /* IE9 Compat Modes */
	src: local(''),
		 url('fonts/pt-sans-v17-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
		 url('fonts/pt-sans-v17-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
		 url('fonts/pt-sans-v17-latin-regular.woff') format('woff'), /* Modern Browsers */
		 url('fonts/pt-sans-v17-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
		 url('fonts/pt-sans-v17-latin-regular.svg#PTSans') format('svg'); /* Legacy iOS */
  }
/* pt-sans-700 - latin */
@font-face {
font-family: 'PT Sans';
font-style: normal;
font-weight: 700;
src: url('fonts/pt-sans-v17-latin-700.eot'); /* IE9 Compat Modes */
src: local(''),
		url('fonts/pt-sans-v17-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
		url('fonts/pt-sans-v17-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
		url('fonts/pt-sans-v17-latin-700.woff') format('woff'), /* Modern Browsers */
		url('fonts/pt-sans-v17-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
		url('fonts/pt-sans-v17-latin-700.svg#PTSans') format('svg'); /* Legacy iOS */
}

:root {

	/*  */
	--bodycolor: #333;

	/*  */
	--cd-primary: var(--hoffmann-t);
	--cd-secondary: var(--hoffmann-dt);

	/*  */
	--darkblue: #04305e;
	--lightblue: #9fd1ec;
	--lightestblue: #ddeff8;

	/* corporate dr hoffmann */
	--hoffmann-t: #2a4561;
	--hoffmann-dt: #98cff1;
}

/* CSS Document */

.btn:focus,.btn:active, *:focus, *:active {
	outline: none !important;
	box-shadow: none;
 }

h1,
h2,
p,
a {
	margin: 0;
	padding: 0;
}

html,
body {
	background-color: #fff;
	font-family: 'PT Sans', sans-serif;
	font-size: 18px;
	margin: 0;
	padding: 0;
	min-height: 100%;
	color: var(--bodycolor);

}

p > small {
	font-size: .6em;
	line-height:1 !important;
}

.bg-alert {
	background-color: #e00c0c !important;
}

.divider {
	border-bottom: 1px solid #d6d6d6;
	margin: 1em auto;
	padding: 1em 0 0;
	clear: both;
	width: 100%;
	text-align: center;
	position: relative;
}

.divider img {
	height: 32px;
	right: auto;
	background: white;
	transform: translate(-50%, -25%);
	position: absolute;
	left: 50%;
	top: 50%;
}

.modal-backdrop {
	background-color: var(--cd-primary);
}

#wrapper {
	width: 100%;
	display: block;
	float: left;
	text-align: center;
	padding-top: 60px;
	z-index: 100;
	position: relative;
	height: 100%;
}

#footer {
	background-color: var(--cd-primary);
	bottom: 0;
	width: 100%;
	font-size: 0.8em;
	padding-top: 100px;
	border-top: solid 16px var(--cd-secondary);
	text-align: center;
}

.cta #footer {
	position: relative;
	margin-top: 60px;
}

.logo {
	width: 300px;
	margin-bottom: 55px;
	margin-top: 40px;
}

h1 {
	font-weight: 700;
	text-transform: uppercase;
}

h1.start-headline {
	text-align:center;
	word-wrap:break-word;
}

h2 {
	font-weight: 400;
	color: #fff;
}

h3 {
	color: #fff;
}

h4 {
	color:#fff;
}

h5 {
	color: #575756;
}

p {
	color: #575756;
}

a {
	color: var(--cd-primary);
}

a:hover {
	color: var(--cd-secondary);
	transition: all 0.2s ease-in-out;
	-webkit-transition: all 0.2s ease-in-out;
	-moz-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
}

.cta {
	padding-top: 60px;
}

.btn {
	color: white;
	text-decoration: none;
	font-weight: 700;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	letter-spacing: 0.04em;
	text-align: center;
	text-transform: uppercase;
	border:none;
	font-size:1.1rem;
}

.btn-primary {
	background-color: var(--cd-secondary);
}

.btn:hover,
.btn:focus,
.btn:active {
	color: #fff;
	background-color: var(--cd-primary);
	transition: all 0.2s ease-in;
	-webkit-transition: all 0.4s ease-in-out;
	-moz-transition: all 0.4s ease-in-out;
	-o-transition: all 0.4s ease-in-out;
	border:none;
}

.text-primary {
	color: var(--cd-primary) !important;
}

.text-secondary {
	color: var(--cd-secondary) !important;
}

/* .headline h1 {
	color: #575756;
	line-height: 1.2em;
	font-size: 2em;
	padding: 0px 0px 40px 0px;
	font-weight: 400;
} */

.headline-box {
	background-color: var(--lightestblue);
}

.headline-box * {
	color:var(--darkblue);
}

a:hover .headline-box {background:var(--darkblue); transition: background .5s linear;}
a:hover .headline-box * { color: #fff; transition: color .5s linear;}

.copyright {
	font-size: 1em;
	line-height: 1.8em;
}

.contact {
	padding: 2em 0;

}

.contact p {
	padding-top: 24px;
}

#mainCarousel {
	width: 600px;
	margin: 0 auto 1rem auto;
  
	--carousel-button-color: #170724;
	--carousel-button-bg: #fff;
	--carousel-button-shadow: 0 2px 1px -1px rgb(0 0 0 / 20%),
	  0 1px 1px 0 rgb(0 0 0 / 14%), 0 1px 3px 0 rgb(0 0 0 / 12%);
  
	--carousel-button-svg-width: 20px;
	--carousel-button-svg-height: 20px;
	--carousel-button-svg-stroke-width: 2.5;
  }
  
  #mainCarousel .carousel__slide {
	width: 100%;
	padding: 0;
  }
  
  #mainCarousel .carousel__button.is-prev {
	left: -1.5rem;
  }
  
  #mainCarousel .carousel__button.is-next {
	right: -1.5rem;
  }
  
  #mainCarousel .carousel__button:focus {
	outline: none;
	box-shadow: 0 0 0 4px var(--cd-primary);
  }
  
  #thumbCarousel .carousel__slide {
	opacity: 0.5;
	padding: 0;
	margin: 0.25rem;
	width: 96px;
	height: 64px;
  }
  
  #thumbCarousel .carousel__slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 4px;
  }
  
  #thumbCarousel .carousel__slide.is-nav-selected {
	opacity: 1;
  }


#footer ul {
	font-weight: 400;
	color: #575756;
	font-size: 1.4em;
	line-height: 1.4em;
	margin: 0;
	padding: 0;
}

#footer ul li {
	position: relative;

	list-style-type: none;
	display: inline;
	padding: 0px 10px;
}

#footer ul li:not(:first-child):before {
	content: " | " !important;
	color: #fff;
}

.container {
	width: 968px;
	padding-right: 10px;
	padding-left: 10px;
	margin-right: auto;
	margin-left: auto;
}

.footercontainer {
	padding-bottom: 120px;
}

.bottom-image {
	bottom: 0px;
	left: 50%;
	font-size: 0px;
	line-height: 0px;
	margin-top: 40px;
}

#footer {
	padding-top: 40px;

}

#footer ul {
	margin: 0 -10px;
	padding: 0;
	list-style: none;
	color: #fff;
}

#footer ul li {
	padding-right: 10px;
	position: relative;
}

#footer ul li a {
	color: #fff;
	text-decoration: none;
}

#footer ul li a:hover {
	color: #fff;
	text-decoration: underline;
}

#footer ul li::before {
	content: "";
	padding-right: 1%;
	background: none;
}

.clearfix:after {
	content: ".";
	clear: both;
	display: block;
	visibility: hidden;
	height: 0px;
}

.linebreakbr {
	display: none;
}

.leistungsliste {
	display: grid;
	background-color: #6fc3dc;
	background-color: rgba(0, 145, 174, 0.418);
	margin: 0.4em 0 1.3em 0;
	padding: 0.3em 0;
	border: 10px solid #fff;
}

.leistungen ul li {
	padding: 0.6em 0;
	font-size: 0.8em;
	color: #fff;
}

.leistungen ul li::before {
	content: "" !important;
	padding-right: 1%;
	background: none;

}

.modal-header {
	background:var(--lightestblue);
	color:var(--darkblue);
}

.modal-title {
	margin-left: 24px;
}

.modal-footer > .btn {
	background: var(--darkblue)
}
.modal-footer > .btn:hover {
	background: var(--lightblue)
}

.imprint p {
	margin-bottom:8px;
}

@media only screen and (max-width: 1770px) {

}

@media only screen and (max-width: 1622px) {

}

@media only screen and (max-width: 1478px) {

	#wrapper {
		padding-top: 90px;
	}

	.logo {
		width: 450px;
	}

	#inner {
		min-height: 920px;
	}

	.leistungsliste {
		border: none;
	}
	p {
		font-size:1.1em;
	}
}
@media only screen and (max-width: 1199px) {
	#inner {
		min-height: 790px;
	}
	.sshort {
		min-height: 430px !important;
	}
	#praxis {
		margin-bottom: 40px;
	}
}

@media only screen and (max-width: 768px) {




	.logo {
		width: 450px;
	}

	.hglinien {
		background-size: 120%;

	}

	.sshort {
		min-height: 480px !important;
	}

	.row #praxis:first-child #inner {
		min-height:840px;
	}

	.row #praxis:last-child #inner {
		min-height: 570px;
	}

	#footer ul {
		text-align: center;
	}

	.bottom-image {
		width: 70%;
	}

	.copyright {
		padding-top: 20px;
	}

	.contact {
		font-size: 1.6em;
	}
}

@media only screen and (max-width: 580px) {
	.headline h1 {
		font-size:1.6rem;
	}

	#footer ul li:nth-child(4):before {
		content: "" !important;
		color: #575756;
	}

}

@media only screen and (max-width: 667px) {

	#footer {
		position: static;
		margin-top: 12px;
		text-align: center;
	}

	.logo {
		width: 300px;
		margin-bottom: 22px;
	}

	.hglinien {
		background-size: 170%;
	}

	.headline {
		margin-top: 16px;
	}

	#footer ul {
		line-height: 40px;
		padding-bottom: 20px;
		font-size: 14px;
	}
}
@media only screen and (max-width: 396px) {
	#footer ul li:not(:first-child):before {
		display:none;
	}
}
@media only screen and (max-width: 375px) {

	.logo {
		width: 280px;
		margin-bottom: 30px;
	}

	#footer ul li:nth-child(3):before {
		content: "" !important;
		color: #575756;
	}
}

/* CSS Document */