:root {
  --orange: #F37F21;
  --blue: #003E87;
  --light-blue: #DBDEEE;
  --hover-blue: #003E87;
  --light-grey: #EBEBEB;
  --medium-grey: #515151;
  --dark-grey: #1D1D1B;
}

*,
*:after,
*:before{
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
a{
	color: currentColor;
}

a:hover{
	font-weight: bold;
}
.text-white a:hover{
	color: currentColor;
	font-weight: bold;
}

html{
	font-family: sans-serif;
}

body{
	background-color: #FFFFFF;
	font-family: Exo, Helvetica, Arial,sans-serif;
	font-size: 21px;
	font-weight: 300;
	line-height: 41px;
}

header{
	display: flex;
	justify-content: space-between;
}

h1, h2, h3, h4, h6, .h1, .h2, .h3, .h4, .h6 {
	color: var(--blue);
	margin-bottom: 1rem;
}

h1{font: normal normal bold 52px/69px 'Exo'; text-align: center;}
h2{font: normal normal bold 46px/61px 'Exo';}
h3{font: normal normal bold 33px/40px 'Exo';}
h4{font: normal normal 600 26px/41px 'Exo';}


.title-underline{
	position: relative;
	padding-bottom: 1rem;
	margin-bottom: 1rem;
}

.title-underline:after{
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 70px;
	height: 4px;
	background-color: var(--light-blue);

}

.title-underline.text-center:after{
	content: "";
	position: relative;
	display: block;
	margin: 0 auto;
	margin-top: 0.5em;
	width: 100px;
	height: 4px;
	background-color: #d0e5f3;
}

.h5, h5 {
  font-size: 1.2rem;
  line-height: 1.2;
}

p{
	font: normal normal normal 20px/40px 'Exo';
}

p + h3{
	margin-top: 2.5rem;
}

p + h4{
	margin-top: 1.5rem;
}

b, strong {
  font-weight: bold;
  color: var(--orange);
}

@media (max-width: 577px){
	h1{font: normal normal bold 28px/37px 'Exo';}
	h2{font: normal normal bold 28px/37px 'Exo';}
	h3{font: normal normal bold 26px/34px 'Exo';}
	h4{font: normal normal 600 22px/30px 'Exo';}
	p, a, label{font: normal normal normal 16px/28px 'Exo';}

}

.heading-sub-text, .text-blau{
	color: var(--blue);
	font: normal normal normal 27px/44px 'Exo';
}


.section-light{
	background: #515151 0% 0% no-repeat padding-box;
	opacity: 0.11;
}

img{
	width: 100%;
	max-width: 100%;
}

.img-rounded {
  border-radius: 6px;
}

img.width-auto {
  width: auto;
}

li{
	list-style: none;
}

#content ul{
	padding-left: 30px;
}

#content li{
	list-style: none;
	line-height: 1em;
}

#content .search-results li{
	line-height: 2.25rem;
}

#content li::before{
	content: url(../svg/pfeil_aufzaehlungen.svg);
	display: inline-block;
	width: 10px;
	height: 16px;
	margin-left: -30px;
	margin-right: 20px;
}

#content li p{
	display: inline;
	margin-bottom: .5rem;
}


.navbar{
	padding-bottom: 0;
	width: 100%;
}
.navbar-nav a.nav-link{
	color: var(--medium-grey);
	text-transform: uppercase;
	font-weight: bold;
  	font-size: 18px;
  	padding: 0 !important;
  	border-bottom: 10px solid transparent;
}

.mobile-navbar a.nav-link{
	margin-bottom: 10px !important;
}

.navbar-nav a.nav-link.current-link, .navbar-nav a.nav-link:hover{
	color: var(--blue);
	border-bottom: 10px solid var(--blue);
}

.navbar-nav .dropdown-menu{
	padding: 1rem;
	border: none;
	box-shadow: 0px -4px 12px #00000029;
	border-radius: 0;
}
.navbar-nav .dropdown-menu .dropdown-item{
	margin-bottom: .5rem;
	width: 300px;
	white-space: normal;
	padding: 0;
}

.dropdown-item:focus, .dropdown-item:hover {
  color: inherit;
  background-color: transparent;
}

.navbar-nav .dropdown-menu .dropdown-item a{
	text-decoration: none;
	display: inline-block;
	line-height: 2em;
	padding: 2px 16px;
}

.navbar-nav .dropdown-menu .dropdown-item a .sub-link-text:after{
	content: url(../svg/pfeil_breadcrumb_link.svg);
	display: inline-block;
	width: 8px;
	height: 13px;
	margin-left: 1rem;
}

.navbar-nav .dropdown-menu .dropdown-item .sub-ttl{
	display: block;
	font: normal normal normal 12px/18px 'Exo';
	letter-spacing: 0px;
	color: var(--blue);
	padding: 2px 16px;
}

.navbar-nav .dropdown-menu .dropdown-item a.active
,.navbar-nav .dropdown-menu .dropdown-item a:active
,.navbar-nav .dropdown-menu .dropdown-item a:focus
,.navbar-nav .dropdown-menu .dropdown-item a:hover{
	background-color: var(--blue);
	color: #FFF;
	border-radius: 2px 2px 3px 9px;;
}

.navbar-nav .dropdown-menu .dropdown-item a.active .sub-link-text:after
,.navbar-nav .dropdown-menu .dropdown-item a:active .sub-link-text:after
,.navbar-nav .dropdown-menu .dropdown-item a:focus .sub-link-text:after
,.navbar-nav .dropdown-menu .dropdown-item a:hover .sub-link-text:after{
	content: url(../svg/pfeil_breadcrumb_link_white.svg);
}

.navbar-brand{
	padding: 0;
	margin: 0;
	z-index: 100;
}

.navbar-brand img.header-logo{
	height: 110px;
	width: auto;
}

@media (max-width: 1199px){
	.navbar-nav a.nav-link{
		font-size: 17px;
	}

	.navbar-brand{
		  margin-top: 4px;
	}

	.navbar-brand img.header-logo{
		height: 56px;
	}
}


@media (min-width: 992px){
	.navbar-expand-lg {
		width: 100%;
	}

	.navbar-expand-lg .navbar-nav .nav-link {
	  margin-left: 1.5rem;
	}

	.navbar-expand-lg .navbar-nav .nav-item:first-child .nav-link {
	  margin-left: 0;
	}

	.navbar-expand-lg {
	  flex-wrap: nowrap;
	  justify-content: space-between;
	}

	.navbar .nav-item:hover .dropdown-menu{
		display: block;
		margin-left: -90px;
	}

	.container.mobile-navbar{
		display: none;
	}
}

.mobile-navbar{ display: none; }

@media (max-width: 991px){
	.navbar-brand img.header-logo{
		margin: .5rem 0 1rem;
	}

	.header-right{
		position: relative;
	}

	.mobile-navbar{
		position: fixed;
		top: 96px;
		z-index: 20;
		background-color: #FFF;
		padding: 1.5rem 0;
		width: 100%;
		display: none;
		box-shadow: 0px -4px 12px #00000029;
		max-height: 90%;
		overflow: scroll;
	}

	.mobile-navbar.collapse.show{
		display: block;
	}

	.mobile-navbar .navbar-nav{
		margin-left: 4rem;
	}

	.mobile-navbar .navbar-nav li{
		width: 100%;
		max-width: 400px;
	}

	.mobile-navbar .navbar-nav.second-nav li:first-child{
		padding-top: 2rem;
	}

	.mobile-navbar .navbar-nav.second-nav li a.nav-link{
		font-weight: normal;
		color: var(--blue);
		font: normal normal normal 14px/20px 'Exo';
		display: inline-block;
		margin-bottom: 0 !important;
	}

	.mobile-navbar .navbar-nav li .flex-area{
		display: flex;
		flex-wrap: nowrap;
		justify-content: space-between;
	}

	.mobile-navbar .navbar-nav a.nav-link.current-link{
		display: inline-block;
		padding: 0 !important;
		margin-bottom: 1rem;
	}

	.mobile-navbar .navbar-nav li .toggle-nav-item{
		color: var(--blue);
		position: relative;
		top: 8px;
	}

	.mobile-navbar .navbar-nav .dropdown-menu{
		margin-top: -10px;
		margin-bottom: 10px;
		box-shadow: 10px -4px 12px #00000029;
	}

	.mobile-navbar .navbar-nav .dropdown-menu .dropdown-item{
		margin-bottom: 0;
	}
	.mobile-navbar .navbar-nav .dropdown-menu .dropdown-item a .sub-link-text::after{
		content: none;
		width: 0;
		margin: 0;
	}

	#times{
		color: var(--blue);
		font-size: 30px;
		position: relative;
		top: 5px;
		width: 36px;
	}
}

@media (max-width: 480px){
	.mobile-navbar .navbar-nav{
		margin-left: 1rem;
	}
}

section .wrapper {
	padding: 3rem 0;
	position: relative;
	z-index: 2;
}

section > .wrapper.full-width > .container{
	max-width: 100%;
}

section > .wrapper.wide-width > .container{
	max-width: 85%;
}

section .parallax{
	background: no-repeat fixed 50% 50% rgba(0, 0, 0, 0);
	background-size: cover;
}

@media (max-width: 767px){
	section .wrapper{
		padding: 2rem 0 1rem;
	}
}

@media (max-width: 480px){
	section .parallax {
	  background-attachment: scroll;
	}
}

section .wrapper img{
	border-radius: 10px;
}

.overlay{
	background-color: rgba(0, 0, 0, 0.55);
	bottom: 0;
	display: block;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 3;
}

.above-overlay {
  position: relative;
  z-index: 4;
}

footer{
	background-color: var(--blue);
	color: #FFF;
	display: block;
	font-size: 0.9rem;
	font-weight: normal;
	line-height: 1.65rem;
	min-height: 50px;
	padding: 4em;
	position: relative;
}

footer .container{
	display: flex;
	flex-direction: row;
	align-items: stretch;
	justify-content: space-between;
}

footer a {
	text-decoration: none;
}
footer a:hover {
	text-decoration: underline;
	color: #FFF;
	font-weight: inherit;
}

footer b, footer strong{
	color: #FFF;
}

/*
footer .footer-nav-item:not(:last-child):after{
	margin-left: 1rem;
	margin-right: 1rem;
	content: '|';
}
*/

footer img.footer-logo{
	height: 70px;
	width: auto;
	display: block;
}

footer p{
	font: normal normal normal 17px/31px 'Exo';
}

footer ul{
	margin: 0;
	padding: 0;
}

footer .nav-listing li {
	list-style: none;
	text-transform: uppercase;
	padding-bottom: .4rem;
	white-space: nowrap;
}
footer .nav-listing li:before {
	content: url(../svg/pfeil_aufzaehlungen.svg);
	display: inline-block;
	width: 8px;
	height: 13px;
	margin-right: .5rem;
}

footer .nav-listing li a{
	margin-left: .5rem;
	font: normal normal normal 17px/24px Exo;
}

footer .footer-sub-nav.nav-listing li::before{
	content: '';
	margin-right: 0;
	width: 0;
}

footer .footer-sub-nav.nav-listing li a{
	margin-left: 0;
}


footer .nav-listing.fw-bold li a{
	font-weight: bold;
}

.splash-page {
  background: no-repeat fixed;
  background-size: cover;
}

.hero-image {
  display: table;
  height: 100%;
  overflow: hidden;
  position: relative;
  width: 100%;
}

@media (max-width: 1199px){
	footer .container{
		flex-wrap: wrap;
		gap: 1.75rem;
	}
}

@media (max-width: 767px){
	.splash-page {
	  background-size: auto 840px !important;
	  background-position: -240px top !important;
	}

	footer{
		padding: 4em 2em;
	}

	footer p, footer a,
	footer .nav-listing li a{
		font: normal normal normal 14px/20px 'Exo';
	}

	footer .nav-listing.fw-bold li a{
		font-weight: bold;
	}
}

@media (max-width: 540px){
	footer .footer-address{
		flex: 100%;
	}
	footer .nav-listing{
		flex: 1;
		/*position: relative;*/
	}

/*	footer .footer-sub-nav.nav-listing ul{
		position: absolute;
		bottom: 0px;
	}*/
}

@media (max-width: 480px){
	.splash-page {
	  background-size: auto auto !important;
	  background-position: center !important;
	  background-attachment: scroll;
	}
}

.text-bigger p{
	font-size: 1.25rem;
}

.text-smaller p{
	font-size: .85rem;
}

.block-link a{
  -moz-user-select: none;
  -ms-touch-action: manipulation;
  -ms-user-select: none;
  -webkit-user-select: none;
  background-color: #5cb85c;
  border-color: #4cae4c;
  border-radius: 6px;
  border: 1px solid transparent;
  color: #fff;
  cursor: pointer;
  display: inline-block;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.42857143;
  margin-bottom: 1rem;
  padding: 12px 20px;
  text-align: center;
  touch-action: manipulation;
  user-select: none;
  vertical-align: middle;
  white-space: nowrap;
  text-decoration: none;
}

.p-mb-0 p{
	margin-bottom: 0;
}

.btn-success {
  color: #fff;
  background-color: #5cb85c;
  border-color: #4cae4c;
}

#home .blocks a:hover, .block-link a:hover, .btn-success:hover {
  color: #fff;
  background-color: #449d44;
  border-color: #146c43;
  font-weight: 400;
}

section .header-section.wrapper{
	padding-top: 200px;
}

.header-section h1 {
  color: #fff;
  font-size: 60px;
  font-weight: 300;
  line-height: 1.3;
}

@media (min-width: 320px){
	.header-section h1 {
	  font-size: 25px;
	}
}

@media (min-width: 375px){
	.header-section h1 {
	  font-size: 35px;
	}
}

@media (min-width: 768px){
	.header-section h1 {
	  font-size: 40px;
	}
}


.header-section p {
  color: #fff;
  line-height: 1.4em;
}

@media (min-width: 320px){
	.header-section p {
  		font-size: 20px;
	}
}
@media (min-width: 375px){
	.header-section p {
  		font-size: 25px;
	}
}
@media (min-width: 768px){
	.header-section p {
  		font-size: 1.4rem;
	}
}

@media (max-width: 767px){
	.bg-dark-small-screen{
		background-color: rgba(var(--bs-dark-rgb),1) !important;
	}
}
@media (max-width: 991px){
	.bg-dark-large-screen{
		background-color: rgba(var(--bs-dark-rgb),1) !important;
	}
}

.navbar-toggler{
	border: none;
	padding: 0;
}

.navbar-toggler:focus{
	box-shadow: none;
}

.navbar-toggler img{
	height: 30px;
}


#kontakt{
	background-color: #868C70;
}


@media (max-width: 991px){
	#kontakt .wrapper{
		padding-bottom: 150px;
	}
}

.important-fields {
    position: absolute;
    left: -9999px;
}


.form-check-input.is-invalid, .form-control.is-invalid, .was-validated .form-control:invalid {
  border-width: 2px;
}

.invalid-feedback {
  margin-top: 0;
  font-size: .75rem;
  color: white;
  padding-left: 1em;
}

.overview-container:nth-child(odd){
	background: #FFFFFF 0% 0% no-repeat padding-box;
	border-radius: 23px 0px 0px 23px;
	opacity: 1;
}
.overview-container:nth-child(even){
	background: #FFFFFF 0% 0% no-repeat padding-box;
	border-radius: 23px 0px 0px 23px;
	opacity: 1;
}

header .search-input{
	width: 325px;
	margin-left: auto;
}
.search-input input{
	background: #EDEDED 0% 0% no-repeat padding-box;
	border: 1px solid #EDEDED;
}
.search-input input::placeholder{
	font: 'Krub' italic normal normal 13px;
	letter-spacing: 0px;
	color: #515151;
}

.search-icon-bg{
	background-color: var(--blue);
	border-radius: 4px 0 0 16px;
	border: 1px solid var(--blue);
	padding: 0 .6rem;
}

.search-icon{
	width: 26px;
}

.breadcrumb{
	margin-top: .75rem;
	font: normal normal 600 16px/31px 'Exo';
	position: relative;
	z-index: 10;
}

.breadcrumb ol {
	padding: 0;
}
.breadcrumb ol li{
	list-style: none;
	display: inline-block;
	margin-right: .25rem;
}

@media (max-width: 991px){
	.breadcrumb ol{
		padding-top: 2rem;
	}
}

.breadcrumb ol li:before{
	content: url(../svg/pfeil_breadcrumb.svg);
	display: inline-block;
	width: 8px;
	height: 13px;
}

.breadcrumb ol li.breadcrumb-link:before{
	content: url(../svg/pfeil_breadcrumb_link.svg);
}

.breadcrumb ol li span{
	margin-left: .25rem;
}
.breadcrumb ol li a{
	text-decoration: none;
	color: var(--blue);
}

.fixed-top {
  box-shadow: 0px 0px 10px #888;
}

.header-image-area{
	display: flex;
	flex-direction: row;
	align-items: stretch;
}

.header-image-left{
	background-color: var(--blue);
	vertical-align: middle;
	position: relative;
}

.overflow-image-area{
	display: block;
	height: calc(100% + 8rem);
	width: calc(100% + 8rem);
	position: absolute;
	right: -4rem;
	top: -5rem;
	z-index: 10;
	/*background-color: #FF000033;*/
}

.header-image-left img{
	object-fit: cover;
	object-position: right;
	height: 100%;
}


.header-image-right{
	padding-left: 0;
	overflow: hidden;
	vertical-align: middle;
	width: 100%;
}

@media (max-width: 575px){
	.header-image-right{
		height: 300px;
	}
}

@media (min-width: 576px){
	.header-image-right{
		height: 360px;
	}
}

@media (min-width: 992px){
	.header-image-right{
		width: 75%;
	}

	.header-image-left{
		width: 25%;
	}
}

.header-image-right > img{
	object-fit: cover; /* Do not scale the image */
  	object-position: center; /* Center the image within the element */
  	height: 100%;
}

@media (min-width: 768px){
	.front-page .header-image-right, .front-page .carousel-item{
		height: 500px;
	}
}



.front-page .overflow-image-area {
  height: calc(100% + 10rem);
  top: -7rem;
}

@media (min-width: 2400px){
	.overflow-image-area {
	  height: calc(100% + 14rem);
	  top: -7rem;
	}
	.front-page .overflow-image-area {
	  height: calc(100% + 15rem);
	}
}

@media (min-width: 3200px){
	.overflow-image-area {
	  height: calc(100% + 20rem);
	  top: -10rem;
	}
	.front-page .overflow-image-area {
	  height: calc(100% + 20rem);
	}
}

.contact-link{
	display: inline-block;
	position: absolute;
	right: 15px;
	top: -3rem;
	z-index: 10;
}

.contact-link a{
	background-color: var(--orange);
	border-radius: 4px 4px 4px 16px;
	padding: 20px 40px;
	font: normal normal bold 23px/31px 'Exo';
	color: #FFF;
	text-decoration: none;
	text-transform: uppercase;
}

.contact-link a:after{
	content: url(../svg/pfeil_kontakt.svg);
	display: inline-block;
	position: relative;
	top: 13px;
	margin-left: 1.8rem;
	height: 43px;
	width: 27px;
}
.contact-link a:hover{
	background-color: var(--hover-blue);
}


/* carousel ------------------------------------ */
.carousel-inner{
    height: 350px !important;
    position: relative;
}

.front-page .carousel-inner{
	height: 500px !important;
}

.carousel-item{
	position: relative;
	height: 100%;
}

.carousel-item img{
	object-fit: cover;
	object-position: center;
}

@media (min-width: 992px){
	.carousel-item > img{
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
	}
}

.carousel-caption{
	background: #F37F21A8 0% 0% no-repeat padding-box;
}

.carousel-caption h2, .carousel-caption h3, .carousel-caption h4, .carousel-caption h5 {
	color: #FFF;
}

.carousel-caption p{
	font: normal normal normal 19px/31px 'Exo';
}

.front-page .carousel-caption{
	top: 100px;
	left: 5rem;
	width: 650px;
	height: 300px;
	padding: 2rem 1rem 2rem 5rem;
	border-radius: 5px 5px 5px 75px;
}

.front-page .carousel-indicators {
  position: absolute;
  right: auto;
  bottom: auto;
  top: 363px;
  left: 0;
  margin-left: 10rem;
}

@media (max-width: 767px){
	.front-page .carousel-indicators {
		display: none;
	}
}

.more-button{
	background: var(--orange) 0% 0% no-repeat padding-box;
	border-radius: 4px 4px 4px 16px;
	padding: 8px 1.6rem;
	font: normal normal bold 19px/31px 'Krub';
	text-transform: uppercase;
	text-decoration: none;
}

.more-button::after {
  content: url(../svg/pfeil_mehr.svg);
  display: inline-block;
  position: relative;
  top: 4px;
  margin-left: .5rem;
  width: 15px;
  height: 24px;
}

/* overview Items ------------------------------------ */
.overview-area{
	margin-top: 3rem;
}
.overview-area .overview-item,
.overview-area .person{
	background: #FFFFFF 0% 0% no-repeat padding-box;
	border-radius: 11px 11px 11px 25px;

	display: flex;
	flex-direction: row;
	align-items: stretch;
	justify-content: space-between;

	min-height: 292px;
	width: 100%;
	margin-bottom: 20px;
}

.overview-item h4 a{
	text-decoration: none;
}
.overview-item h4 a:hover{
	color: var(--hover-blue);
}

.overview-area .person{
	border-radius: 23px 23px 27px 77px;
}

.overview-text, .person-text{
	padding: 40px 40px 70px 40px;
	text-align: left;
	flex: 1;
	border-radius: 23px 0px 0px 23px;
	position: relative;
}
.person-text{
	border-radius: 23px 0px 0 77px;
}

.overview-text h4, .person-text h4{
	color: var(--blue);
	font: normal normal bold 28px/42px 'Exo';
	hyphens: auto;
}

.overview-text h4:after{
	content: url(../svg/pfeil_leistungen.svg);
	display: inline-block;
	width: 15px;
	margin-left: 1rem;
	position: relative;
	top: 2px;
}

.overview-text p, .person-text p{
	font: normal normal normal 17px/28px 'Exo';
	color: var(--blue);
}

.overview-text .more-button,
.person-text .more-button,
.projekt-text .more-button{
	background-color: var(--orange);
	color: #fff;
}
.overview-text .more-button:hover,
.person-text .more-button:hover,
.projekt-text .more-button:hover{
	background-color: var(--hover-blue);
}
.overview-text .more-button,
.projekt-text .more-button{
	position: absolute;
	bottom: 30px;
}

.overview-image, .person-image{
	background-color: var(--orange);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	flex: 0 0 30%;
	padding: 40px;
	position: relative;
	border-radius: 0 11px 11px 0px;
	white-space: nowrap;
}

.person-image{
	background-color: var(--light-grey);
	border-radius: 0px 23px 23px 0px;
	flex: 0 0 320px;
}

.overview-image:before {
  content: url(../svg/pfeil_ecke_schnellzugriff.svg);
  width: 20px;
  height: 60px;
  position: absolute;
  top: calc(50% - 30px);
  left: 0;
}

.overview-image .helper{
	display: inline-block;
	height: 100%;
	vertical-align: middle;
}

@media (max-width: 577px){
	.overview-area .overview-item, .overview-area .person{
		min-height: 150px;
	}

	.overview-icon{
		max-height: 120px;
	}

	.overview-image, .person-image{
		padding: 30px;
		flex: 0 0 35%;
	}

	.overview-text, .person-text{
		padding: 14px 15px 45px 16px;
	}

	.overview-text h4, .person-text h4{
		font: normal normal bold 16px/21px 'Exo';
	}

	.overview-text h4:after{
		width: 10px;
	}

	.overview-text p{
		font: normal normal normal 13px/18px 'Exo';
	}

	.overview-text .more-button,
	.projekt-text .more-button{
		padding: 0 16px;
		bottom: 13px;
	}

	.person-text .more-button{
		padding: 6px 16px;
	}

	.person-text p, .person-text a{
		font: normal normal normal 14px/20px 'Exo';
	}

	.more-button{
		font: normal normal bold 14px/31px 'Krub';
	}

	.more-button::after {
		width: 10px;
		top: 3px;
	}

	.overview-image::before{
		content: none;
	}
}

@media (min-width: 1200px){
	.overview-area{
		display: flex;
		flex-wrap: wrap;
		align-items: stretch;
		justify-content: space-between;
	}

	.overview-area.ansprech{
		justify-content: space-around;
	}

	.overview-area .overview-item{
		width: 550px;
	}
	.overview-area .person{
		width: 640px;
	}

	.overview-text{
		border-radius: 11px 0px 0px 25px;
	}

	.overview-image{
		border-radius: 0;
		flex: 0 0 200px;
	}
}

@media (min-width: 1400px){
	.overview-area .overview-item{
		width: 630px;
	}
	.overview-area .person{
		width: 720px;
	}

	.overview-text{
		border-radius: 11px 0px 0px 25px;
	}

	.overview-image{
		border-radius: 0;
		flex: 0 0 250px;
	}
}


/* Meilensteine Items ------------------------------------ */
.milestone-area{
	margin-top: 3rem;
}

.milestone-area .milestone-item{
	min-height: 292px;
	width: 100%;
}

.milestone-text{
	padding: 70px 50px 10px 60px;
	text-align: left;
	flex: 0 0 25%;
}
.milestone-item:first-child .milestone-text{
	padding-top: 40px;
}

.milestone-text h4{
	color: var(--blue);
	font: normal normal bold 52px/69px 'Exo';
	margin-bottom: 1rem;
}

.milestone-text li{
	margin-bottom: .75rem;
}

.milestone-text li, .milestone-text p{
	font: normal normal normal 15px/25px 'Exo';
}

.milestone-text li::before{
	margin-left: -40px;
	margin-right: 30px;
}

.milestone-image{
	background-color: var(--light-grey);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;

	padding: 40px;
	position: relative;
	white-space: nowrap;
	z-index: 10;
	margin-bottom: -2rem;

	min-height: 150px;
}

.milestone-zeitstrahl{
	display: none;
}

/* farben + reihenfolge */
.milestone-item:nth-child(3n+1){
	background-color: var(--blue);
}

.milestone-item:nth-child(3n+2){
	background-color: var(--orange);
}

.milestone-item:nth-child(3n){
	background-color: #FFF;
}

.milestone-item:nth-child(3n+1) .milestone-text .milestone-text-text,
.milestone-item:nth-child(3n+2) .milestone-text .milestone-text-text{
	color: #FFF;
}

.milestone-item:nth-child(3n+1) .milestone-text .milestone-text-text li:before,
.milestone-item:nth-child(3n+2) .milestone-text .milestone-text-text li:before{
	content: url(../svg/pfeil_aufzaehlungen_white.svg) !important;
}

.milestone-item:nth-child(3n+1) .milestone-text .milestone-text-jahr{
	color: #FFF;
}

.milestone-item:nth-child(2n+1) .milestone-image{
	margin-right: 4rem;
	border-radius: 0 0 30px 0;
}
.milestone-item:nth-child(2n) .milestone-image{
	margin-left: 4rem;
	border-radius: 0 0 0 30px;
}

.milestone-image:last-child{
	margin-bottom: -3rem;
}

.milestone-clear{
	min-height: 3rem;
}

/* Desktop Ansicht */
@media (min-width: 768px){
	.milestone-area .milestone-item{
		display: flex;
		flex-direction: row;
		align-items: stretch;
		justify-content: space-between;
	}

	.milestone-text{
		padding: 40px 50px 40px 60px;
		flex: 0 0 calc(25% - 41px);
	}

	.milestone-image{
		flex: 0 0 calc(25% - 41px);
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.milestone-zeitstrahl{
		/*background-color: #f00;*/
		background-image: url(../svg/zeitstrahl_links.svg);
		background-repeat: no-repeat;
		background-position: left;
		background-size: 100px;
		display: flex;
		flex: 1;
	}

	.milestone-item:nth-child(2n+1) .milestone-image{ order: 1; border-radius: 0 0 40px 0; }
	.milestone-item:nth-child(2n+1) .milestone-text{ order: 2; }
	.milestone-item:nth-child(2n+1) .milestone-zeitstrahl{ order: 3;}

	.milestone-item:nth-child(2n) .milestone-image{ order: 3; border-radius: 0 0 0 40px; }
	.milestone-item:nth-child(2n) .milestone-text{ order: 2; }
	.milestone-item:nth-child(2n) .milestone-zeitstrahl{ order: 1; background-image: url(../svg/zeitstrahl_rechts.svg); background-position: right;}

	.milestone-item:nth-child(6n+3) .milestone-zeitstrahl{ background-image: url(../svg/zeitstrahl_links_dark.svg) !important;}
	.milestone-item:nth-child(6n+6) .milestone-zeitstrahl{ background-image: url(../svg/zeitstrahl_rechts_dark.svg) !important;}
}

@media (max-width: 1500px){
	.milestone-text{
		flex: 1;
	}
	.milestone-image{
		flex: 1;
	}
}

@media (max-width: 991px){
	.milestone-text{
		flex: 2;
	}
	.milestone-image{
		flex: 1;
	}

	.milestone-zeitstrahl{
		display: none;
	}
}

/* Kontaktform */

.kontakt, .container-blau{
	background-color: var(--blue);
	border-radius: 19px 24px 29px 81px;
	color: #FFF;
	font: normal normal normal 17px/37px 'Exo';

	padding: 3rem 6rem;
}
.kontakt .form-check-input {
  width: 2em;
  height: 2em;

  float: left;
  margin-right: 1rem;
}

.btn-white{
	background: #FFFFFF;
}

.kontakt a:hover, .container-blau a:hover{
	color: #FFF;
}

.kontakt .btn, .container-blau .btn{
	border-radius: 4px 4px 4px 16px;
	padding: 0 2rem .8rem 2rem;
	font: normal normal bold 23px/31px 'Exo';
	color: var(--blue);
	text-transform: uppercase;
}

.kontakt .btn:after, .container-blau .btn:after{
	content: url(../svg/pfeil_kontakt_send.svg);
	display: inline-block;
	position: relative;
	top: 13px;
	margin-left: 1.8rem;
	height: 43px;
	width: 27px;
}

@media (min-width: 768px){
	.kontakt.smaller, .container-blau.smaller{
		width: 70%;
		margin: 0 auto;
	}
}

ul.sub-pages-list{
	margin-bottom: 2rem;
}

ul.sub-pages-list li.sub-item{
	list-style: none !important;
	font: normal normal normal 21px/42px 'Exo';
}

ul.sub-pages-list li.sub-item:before{
	content: url(../svg/pfeil_aufzaehlungen.svg);
	display: inline-block;
	width: 10px;
	height: 16px;
	margin-left: -50px;
	margin-right: 35px;
}

ul.sub-pages-list li.sub-item a{
	text-decoration: none;
}

.form-check-input.is-invalid,
.form-control.is-invalid{
	background-color: #f8d7da;
	border: none;
}

.white-round-container, .container-white-round{
	background-color: #FFF;
	border-radius: 23px !important;
	padding: 2.5rem !important;
}

.white-round-container h3, .container-white-round h3{
	margin-bottom: 1rem;
}

.white-round-container ul, .container-white-round ul, .kontakt ul, .container-blau ul, ul.search-results{
	padding-left: 0;
}

.white-round-container ul li, .container-white-round ul li, .kontakt ul li, .container-blau ul li, ul.search-results li{
	list-style: none !important;
}
.white-round-container ul li:before, .container-white-round ul li:before
, .kontakt ul li:before, .container-blau ul li:before
, ul.search-results li:before{
	content: url(../svg/pfeil_aufzaehlungen.svg);
	display: inline-block;
	width: 8px;
	height: 13px;
	margin-right: 1.5rem;
}
.white-round-container ul li p, .container-white-round ul li p, .kontakt ul li p, .container-blau ul li p{
	display: inline-block;
}

ul.search-results li a{
	text-decoration: none;
	color: var(--blue);
}

.kds-link{
	border-radius: 10px 13px 17px 40px;
	background-color: var(--light-blue);
	font: normal normal normal 24px/41px 'Exo';
	padding: .5rem 2rem 1rem;
	color: var(--blue);
	text-decoration: none;
	margin-bottom: 1rem;
	display: inline-block;
}

.kds-link:hover{
	font-weight: normal;
}

.kds-link:before{
	content: url(../svg/link_out.svg);
	display: inline-block;
	width: 40px;
	margin-right: 1.5rem;
	position: relative;
	top: 10px;
}

hr{
	background-color: var(--blue);
	margin: 3rem 0 2rem;
}

@media (max-width: 577px){
	.kds-link{
		font: normal normal normal 16px/22px 'Exo';
		padding: .75rem 2rem;
	}

	.kds-link::before{
		width: 20px;
		margin-right: 1rem;
		top: 5px;
	}
}

@media (max-width: 767px){
	.kontakt, .container-blau{
		padding: 3rem;
		font: normal normal normal 16px/30px 'Exo';
	}

	.kontakt .btn, .container-blau .btn{
		padding: 0 2rem .8rem 2rem;
		font: normal normal bold 20px/26px 'Exo';
	}

	.kontakt .btn::after, .container-blau .btn::after, .contact-link a::after {
	    top: 8px;
	    width: 20px;
	}

	.overview-area .person {
		border-radius: 23px 23px 27px 50px;
		padding: 4px 0 0 4px;
	}

	ul.sub-pages-list li.sub-item{
		font: normal normal normal 20px/32px 'Exo';
		padding-bottom: .7rem;
	}

	ul.sub-pages-list li.sub-item::before{
		margin-left: -25px;
		margin-right: 10px;
	}

	.contact-link a{
		font: normal normal bold 20px/26px 'Exo';
	}

	.milestone-text h4{
		font: normal normal bold 37px/50px 'Exo';
	}
}

/* Projektseiten */
.projekt-area{
	margin-right: calc(var(--bs-gutter-x) * -.5);
	margin-left: calc(var(--bs-gutter-x) * -.5);
	margin-bottom: 3rem;
}

.projekt-main-area{
	background-color: var(--light-grey);
}

.projekt-image-area img {
	object-fit: cover;
	height: 100%;
}

.projekt-text h2{
	color: #000;
	font: normal normal 600 28px/66px 'Exo';
}

.projekt-text .more-button{
	display: none;
}

.projekt-text .more-button.show{
	display: inline-block;
}

.projekt-additional-text{
	display: none;
}

.projekt-additional-text.show{
	display: block;
}


.projekt-additional-text .blue-box{
	background-color: var(--blue);
	border-radius: 19px 24px 29px 50px;
	color: #FFF;
	font: normal normal normal 17px/37px 'Exo';
	padding: 2rem 1rem;
	margin: 1rem 0 1rem -1rem;
}
.projekt-additional-text .blue-box ul{
	padding-left: 50px;
}

.projekt-additional-text .blue-box ul li {
	list-style: none !important;
}

.projekt-additional-text .blue-box ul li:before {
	content: url(../svg/pfeil_aufzaehlungen.svg);
	display: inline-block;
	width: 10px;
	margin-right: 30px;
	margin-left: -40px;
}

.projekt-additional-text .blue-box ul li p{
	margin: 0;
	display: inline;
}


@media (max-width: 991px){
	.projekt-image-area,
	.projekt-image-area img {
		max-height: 300px;
	}

	.projekt-text.container{
		margin-top: 2rem;
		padding-right: .75rem;
		padding-left: .75rem;
		position: relative;
		margin-bottom: 3rem;
	}

	.projekt-main-text{
		padding-bottom: 1rem;
	}

	.projekt-text .more-button{
		position: absolute;
		bottom: -3rem;
	}
}

@media (min-width: 992px){
	.projekt-main-area {
		display: flex;
		flex-direction: row;
		align-items: stretch;
	}

	.projekt-text {
		padding: 3rem 6rem 3rem 11px;
	}

	.projekt-text.container{
		margin: 0;
		margin-left: calc(((100% - 960px)/2));
	}

	.projekt-text h2{
		font: normal normal 600 36px/66px 'Exo';
	}

	.projekt-text .more-button{
		display: none;
	}

	.projekt-additional-text{
		display: block;
	}

	.projekt-additional-text.container{
		padding-right: .75rem;
		padding-left: .75rem;
	}

	.projekt-additional-text .blue-box{
		border-radius: 19px 24px 29px 81px;
		font: normal normal normal 17px/37px 'Exo';
		padding: 2rem 4rem 1rem;

		position: relative;
		margin: -3rem 0 2rem -6rem;
		z-index: 20;
	}

	.projekt-additional-text .blue-box ul li:before {
		content: url(../svg/pfeil_aufzaehlungen.svg);
		display: inline-block;
		width: 10px;
		margin-right: 2rem;
	}

	.projekt-text .more-button{
		display: none !important;
	}


	.projekt-image-area{
		order: 2;
		width: 60%;
	}
}


@media (min-width:1200px) {
	.projekt-text.container{
		margin-left: calc(((100% - 1140px)/2));
	}
}

@media (min-width:1400px) {

	.projekt-text.container{
		margin-left: calc(((100% - 1320px)/2));
	}
}


.block-height-auto .row{
	align-items: stretch;
}
.block-height-auto .blocks
, .block-height-auto .blocks .container-white-round
, .block-height-auto .blocks .container-blau{
	height: 100%;
}

#edit-cookie::before {
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f564";
	display: inline-block;
	vertical-align: middle;
	margin-left: 1px;
	color: white;
}

#edit-cookie {
	background: var(--dark-grey);
	border-radius: 100%;
	border: none;
	box-shadow: 0px 3px 5px -1px #909090,0px 6px 10px #9C9C9C,0px 1px 18px #B3B3B3;
	color: #333 !important;
	line-height: 1rem;
	padding: 15px 12px !important;
	position: fixed;
	bottom: 4%;
	right: 4%;
	z-index: 20;
}

.position-bottom-right{
	object-position: right bottom !important;
	background-position: right bottom !important;
}
.position-bottom-center{
	object-position: center bottom !important;
	background-position: center bottom !important;
}
.position-top-10-center{
	object-position: center 10% !important;
	background-position: center 10% !important;
}
.position-top-20-center{
	object-position: center 20% !important;
	background-position: center 20% !important;
}
.position-top-25-center{
	object-position: center 25% !important;
	background-position: center 25% !important;
}

.overview-item-dsgvo{
	background-position: -60px;
}
.overview-item-cloud{
	background-position: 20% center;
}

.preisbox{
	background-color: #FFF;
	max-width: 450px;
}

.preisbox .preis:after{
	content: "";
	position: relative;
	display: block;
	margin: 0 auto;
	margin-top: 2rem;
	width: 90%;
	height: 2px;
	background-color: var(--orange);
}

.preisbox .preis:after{
	margin-top: 3rem;
}

.preisbox .preis{
	padding: 2rem 3rem;
	text-align: center;
}

.preisbox .preis h3{
	padding-top: 1rem;
	padding-bottom: 1rem;
}

.preisbox .preis p{
	line-height: 1.5rem;
	font-size: 1.25rem;
}

.preisbox .body{
	padding: 2rem 3rem;
}

.preisbox .body p em{
	margin-top: 2rem;
	display: inline-block;
	font-size: 16px;
	line-height: 22px !important;
}

#content .preisbox .body ul {
  padding-left: 70px;
}

h1 i.fa-solid, h2 i.fa-solid, h3 i.fa-solid, h4 i.fa-solid, h5 i.fa-solid{ color: var(--orange); margin-left: .5rem; font-size: 1.25em; }

.smaller{
	font-size: .75rem;
}


#karriere .job-kontakt-area, .job-kontakt-area{
	background-color: var(--light-blue);
	/* background-image: url(../svg/stilelement_kontakt.svg); */
	background-position: top left;
	background-repeat: no-repeat;

	margin-bottom: -0.5rem;
	padding-top: 5rem;
	padding-bottom: 5rem;

	color: #fff;
	font: normal normal normal 27px/44px 'Exo';
}

.job-kontakt-area h2{
	color: var(--blue);
}

#karriere .job-kontakt-area .person{
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
	min-height: 290px;

	display: flex;
	flex-direction: row;
	align-items: stretch;
	justify-content: space-between;
}

#karriere .job-kontakt-area .person .person-text{
	flex: 1;
	background: #FFFFFF 0% 0% no-repeat padding-box;
	padding: 2rem 4rem 3rem;
	border-radius: 23px 0 0 77px;
}

#karriere .job-kontakt-area .person .person-text p{
	font: normal normal normal 15px/31px 'Exo';
	color: var(--blue);
}

#karriere .job-kontakt-area .person .person-text h5{
	font: normal normal bold 24px/42px 'Exo';
	color: var(--light-blue);
}

#karriere .job-kontakt-area .person .person-image{
	background-color: var(--light-blue);
	flex: 0 0 40%;
	border-radius: 0 23px 23px 0;
}

#karriere .job-kontakt-area .person .more-button{
	color: #FFF;
	background-color: var(--light-blue);
}

@media (max-width: 767px){
	#karriere .job-kontakt-area .person, .job-kontakt-area .person{
		min-height: 190px;
	}

	#karriere .job-kontakt-area .person .person-text{
		padding: 2rem;
		border-radius: 23px 23px 23px 77px;
	}

	#karriere .job-kontakt-area .person .person-image,
	.job-kontakt-area .person .person-image{
		display: none;
	}

	#karriere .job-kontakt-area .person .person-text h5 {
  		font: normal normal bold 20px/34px 'Exo';
  	}
}

.row {
	--bs-gutter-x:2em;
}

hr{
  height: 2px;
  width: 75%;
  margin: 3em auto 2em;
}

.angled-banner {
  position: relative;
  display: inline-block;
  color: #FFF;
  padding: 0.5em 0.7em 0.5em 0.5em;
  z-index: 1;
}

.angled-banner::before {
  content: "";
  position: absolute;
  background-color: var(--blue);
  inset: 0;
  z-index: -1;
  clip-path: polygon(0 0, 99% 0, 100% 92%, 0% 100%);
  transform: rotate(-1deg);
}

.angled-banner.orange::before {
  background-color: var(--orange);
}

.angled-banner.blue + .fa-solid{
	color: var(--blue);
}

.hicon {
  height: 72px;
  width: 72px;
  display: inline-block;
  background-repeat: no-repeat;
  margin-left: .7rem;
}

.icon_01{ background-image: url('../svg/icon_01.svg'); }
.icon_02{ background-image: url('../svg/icon_02.svg'); }
.icon_03{ background-image: url('../svg/icon_03.svg'); }
.icon_04{ background-image: url('../svg/icon_04.svg'); }
.icon_05{ background-image: url('../svg/icon_05.svg'); }
.icon_06{ background-image: url('../svg/icon_06.svg'); }
.icon_07{ background-image: url('../svg/icon_07.svg'); }
