/*!
* Start Bootstrap - Scrolling Nav (https://startbootstrap.com/template-overviews/scrolling-nav)
* Copyright 2013-2019 Start Bootstrap
* Licensed under MIT (https://github.com/BlackrockDigital/startbootstrap-scrolling-nav/blob/master/LICENSE)
*/

/* Fonts
******************************/
@font-face {
  font-family: 'Montserrat';
  src: url('../fonts/montserrat-v31-latin-regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Montserrat';
  src: url('../fonts/montserrat-v31-latin-900.woff2') format('woff2');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

/* Allgemeine Styles
******************************/
body p {
	font-family: 'Montserrat', sans-serif;
	font-size: 18px;
	font-weight: 400;
}

footer a, nav a, .card a, #cta a, #karriere li, #karriere a, #latestnews a {
	font-family: 'Montserrat', sans-serif;
	font-weight: 400;
}

body {
	color: #30383c;
}


html {
	scroll-behavior: smooth;
	overflow-x: hidden;
}


.spacer-25 {margin-top: 25px}
.spacer-50 {margin-top: 50px}

a, li, button {
	transition: all 0.8s !important;
	text-decoration: none !important;
}

.footer-navbar li a {
	color:#fff !important;
}

a  {
	color: #30383c !important;
}
a:hover{
	color: #be1723 !important;

}

h1, h2, h3, h4, h5, h6 {
	font-family: 'Montserrat', sans-serif;
	font-weight: 900 !important;
	color: #30383c;
	text-transform: uppercase;
}


#kontakt h3{font-size: 20px !important;}

#kontakt a {
	color: #30383c;
}

#kontakt a:hover {
	color: #be1723;

}

@media (min-width: 0px) {
	header {display: none !important; transition: 0.8s !important;}
	.header-mobile {display: block;}
	.header-img {height:330px; width: 100%; background-image: url("../img/header-img-mobile.jpg"); background-repeat: no-repeat;text-transform: uppercase; margin-top: 30px; background-position-x: -80px;}
	.header-text {background-color: #be1723; height:auto; padding: 30px 15px;}
	.navbar-brand {
		width: 240px;
		background: url(../img/eh-logo.png);
		background-size: contain;
		background-repeat: no-repeat;
		height: 65px;
		text-indent: -99999999px;
		margin: 0px;
	}


}

@media (min-width: 576px) {
	header {display: block !important; transition: 0.8s !important;}
	.header-mobile {display: none;}
	.redbg {  border-bottom: 100vh solid #be1723; opacity: 0.85; border-right: 400px solid transparent;  position: absolute;  z-index: 0; margin-left: -15px; width: 650px; transition: 0.8s !important;}
	.navbar-brand {
		width: 300px;
		background: url(../img/eh-logo.png);
		background-size: contain;
		background-repeat: no-repeat;
		height: 80px;
		text-indent: -99999999px;
	}
}

@media (min-width: 768px) {
	.redbg {  border-bottom: 100vh solid #be1723; opacity: 0.85; border-right: 500px solid transparent;  position: absolute;  z-index: 0; margin-left: -15px; width: 800px;}
}

@media (min-width: 992px) {
	.redbg {  border-bottom: 100vh solid #be1723; opacity: 0.85; border-right: 500px solid transparent;  position: absolute;  z-index: 0; margin-left: -15px; width: 950px;}
}

@media (min-width: 1200px) {
	.redbg {  border-bottom: 100vh solid #be1723; opacity: 0.85; border-right: 500px solid transparent;  position: absolute;  z-index: 0; margin-left: -15px; width: 1100px;}
}




@media (min-width: 0px) {
	.kontaktbox:nth-child(1) {border-bottom: 1px solid #30383c;transition: 0.8s !important;}
	.kontaktbox:nth-child(2) {border-bottom: 1px solid #30383c;transition: 0.8s !important;}
	.kontaktbox:nth-child(3) {border-bottom: 1px solid #30383c;transition: 0.8s !important;}
	.kontaktbox:nth-child(4) {border-bottom: none;transition: 0.8s !important;}

	.servicebox:nth-child(1) {border-bottom: 1px solid #30383c;transition: 0.8s !important;}
	.servicebox:nth-child(2) {border-bottom: 1px solid #30383c;transition: 0.8s !important;}
	.servicebox:nth-child(3) {border-bottom: 1px solid #30383c;transition: 0.8s !important;}
	.servicebox:nth-child(4) {border-bottom: 1px solid #30383c;transition: 0.8s !important;}
	.servicebox:nth-child(5) {border-bottom: 1px solid #30383c;transition: 0.8s !important;}
	.servicebox:nth-child(6) {border-bottom: 1px solid #30383c;transition: 0.8s !important;}
	.servicebox:nth-child(7) {border-bottom: 1px solid #30383c;transition: 0.8s !important;}

	h1, h2 {font-size: 40px !important; transition: 0.8s !important;}

	.numberbox {height: auto; top: 10px; margin: 20px 0px;}

	#numbers h3{font-size: 50px !important;color: #fff !important; transition: 0.8s !important;}

	#numbers h4{font-size: 18px !important;color: #fff !important; transition: 0.8s !important;}

	.headlineintro {
		padding-bottom: 40px;
	}
	section#impressum, section#datenschutz {
		height: auto;
		padding: 150px 0;
	}
}

@media (min-width: 576px) {
	.numberbox {height: auto; top: 10px; margin: 20px 0px;}
	.headlineintro {
		padding-bottom: 70px;
	}
}

@media (min-width: 768px) {
	.kontaktbox {height: 250px;}
	.kontaktbox:nth-child(1) {border-right: 1px solid #30383c; border-bottom: 1px solid #30383c;}
	.kontaktbox:nth-child(2) {border-right: none; border-bottom: 1px solid #30383c;}
	.kontaktbox:nth-child(3) {border-right: 1px solid #30383c; border-bottom: none;}	
	.kontaktbox:nth-child(4) {border-right: none; border-bottom: none;}

	.servicebox:nth-child(1) {border-right: 1px solid #30383c; border-bottom: 1px solid #30383c;}
	.servicebox:nth-child(2) {border-right: none; border-bottom: 1px solid #30383c;}
	.servicebox:nth-child(3) {border-right: 1px solid #30383c; border-bottom: 1px solid #30383c;}
	.servicebox:nth-child(4) {border-right: none; border-bottom: 1px solid #30383c;}
	.servicebox:nth-child(5) {border-right: 1px solid #30383c; border-bottom: 1px solid #30383c;}	
	.servicebox:nth-child(6) {border-right: none; border-bottom: 1px solid #30383c;}	
	.servicebox:nth-child(7) {border-right: 1px solid #30383c; border-bottom: none;}	

	h1, h2 {font-size: 70px !important;}

	#numbers h3{font-size: 70px !important;color: #fff !important;}

	#numbers h4{font-size: 20px !important;color: #fff !important;}
}

@media (min-width: 992px) { 
	.kontaktbox:nth-child(1) {border-right: 1px solid #30383c; border-bottom: none;}
	.kontaktbox:nth-child(2) {border-right: 1px solid #30383c; border-bottom: none;}
	.kontaktbox:nth-child(3) {border-right: 1px solid #30383c; border-bottom: none;}	
	.kontaktbox:nth-child(4) {border-right: none; border-bottom: none;}

	.servicebox:nth-child(1) {border-right: 1px solid #30383c; border-bottom: 1px solid #30383c;}
	.servicebox:nth-child(2) {border-right: 1px solid #30383c; border-bottom: 1px solid #30383c;}
	.servicebox:nth-child(3) {border-right: 1px solid #30383c; border-bottom: 1px solid #30383c;}
	.servicebox:nth-child(4) {border-right: none; border-bottom: 1px solid #30383c;}
	.servicebox:nth-child(5) {border-right: 1px solid #30383c; border-bottom: none;}
	.servicebox:nth-child(6) {border-right: 1px solid #30383c; border-bottom: none;}
	.servicebox:nth-child(7) {border-right: none; border-bottom: none;}	
}

#kontakt .box {
	padding: 60px 40px;
}

/* Leistungen
******************************/
#leistungen .box {
	padding: 60px 40px;
}

#leistungen h3 {
	font-size: 20px !important;
}


.linebreak {
	border-top: 3.5px solid #be1723;
	width: 25%;
	margin: 25px auto 25px;
}

.linebreak-white {
	border-top: 3.5px solid #ffffff;
	width: 200px;
	margin: 25px 0px;
	top: 40%;
	position: relative;
}

.header-mobile .linebreak-white {
	border-top: 3.5px solid #ffffff;
	width: 200px;
	margin: 25px auto;
	top: 15%;
	position: relative;
}

.zeropadding {
	padding: 0px !important;
}


/* Navigation
******************************/
.navbar{
	position: fixed;
	width: 100%;
	top: 0;
	left :0;
	text-align: center;
	color: black;
	font-family: sans-serif;
	background-color: #30383c;
	transition: 0.8s;
	padding: 20px 15px !important;;
}

.scrolled{
	background-color: #be1723;
	transition: 0.8s;
	padding: 10px 15px !important;;
}

.changenav {height: 1px; }


.nav-link, .footer-nav-link {
	color: #fff !important;
	cursor: pointer;
}

.nav-link:hover, .nav-link.active, .footer-navbar li a:hover, .footer-navbar li a:active{
	color: #f1e60d !important;
}

.icon-bar {
	width: 22px; 
	height: 2px;
	background-color: #fff;
	display: block;
	transition: all 0.2s;
	margin-top: 4px
}

.navbar-dark .navbar-toggler {
	border: none;
	background: transparent !important;
}

nav button:focus {
	outline: none!important;
}

.navbar-toggler .top-bar {
	transform: rotate(45deg);
	transform-origin: 10% 10%;
}

.navbar-toggler .middle-bar {
	opacity: 0;
}

.navbar-toggler .bottom-bar {
	transform: rotate(-45deg);
	transform-origin: 10% 90%;
}

.navbar-toggler.collapsed .top-bar {
	transform: rotate(0);
}

.navbar-toggler.collapsed .middle-bar {
	opacity: 1;
}

.navbar-toggler.collapsed .bottom-bar {
	transform: rotate(0);
}


/* Header
******************************/
.masthead {
	height: 100vh;
	width: 100%;
	background-image: url("../img/header-img.jpg");
	background-color:#fff;
	background-attachment:scroll;
	background-repeat:no-repeat;
	background-size:cover;
	-moz-background-size: cover;
	-webkit-background-size: cover;
	-o-background-size: cover;
	background-position: center center; 
}

.masthead h1, .masthead h3 {
	color: #ffffff;
	top: 40%;
	position: relative;
}

.header-mobile h1, .header-mobile h3 {
	color: #ffffff;
	top: 15%;
	position: relative;
}

.header-mobile .scroll-down {
	font-size: 30px;
	position: relative;
	z-index: 1000;
	width: 100%;
	text-align: center;
} 

.scroll-down {
	bottom: 10px;
	font-size: 30px;
	position: absolute;
	z-index: 1000;
	width: 100%;
	text-align: center;
}

.scroll-down  a i {
	color: #fff;
	transition: all 0.8s;
}

.scroll-down  a i:hover {
	color: #f1e60d;
}


/* Content Sections
******************************/

@media(min-width:0px) {
	section {
		height: auto;
		padding: 150px 0;
		background-color: #fff;
		z-index: 1;
	}

	section#kontakt, section#news, section#newsbeitrag {
		height: auto;
		padding: 150px 0;
	}
	section#numbers, section#cta {
		padding: 100px 0px !important;
	}

	section#newsbeitrag img, section#news img {
		width: auto;
		height: 100%;
	}

	section#numbers, section#cta {
		height: auto;
		width: 100%; 
		background-image: url("../img/cta-banner.jpg"); 
		background-repeat: no-repeat;
		background-size: cover;
		background-attachment: fixed;
		background-attachment: scroll;
		background-position: center;
		text-transform: uppercase; 
		color: #fff !important;
	}

	section#cta h4{
		color: #fff !important;
	}

	.newsbeitrag-img {
		width: 100%;
		overflow: hidden;
		padding-bottom: 20px;
	}
}


@media (min-width: 768px) {
section#newsbeitrag img {
    width:100%;
    height: auto;
}
	
section#news img {
		width: auto;
		height: 100%;
		transform: translateX(-30%);
	}
}

@media(min-width:992px) {
	section {
		height: auto;
		padding: 150px 0;
		background-color: #fff;
		z-index: 1;
	}

	section#numbers, section#cta {
		height: auto;
		padding: 20px;
		color: #fff !important;
	}
	section#cta {
		padding: 100px 0px;
	}

}

/* Counter
******************************/
.count-up {
	padding: 30px 0px;
}

.counter-count {
	padding: 15px;
}

/* AKTUELLE NEWS - HOME
******************************/
section#latestnews {height: auto;}

.card {
	border: 1px solid #cacccc;
	margin-bottom: 30px;
	transition: all 0.8s;
	overflow: hidden;
}

.card:hover {
	border: 1px solid #be1723;
	box-shadow: 0 .135rem .35rem rgba(0,0,0,.1)!important;
}

.news-card-img {
	width: auto;
	height: 100%;
	overflow: hidden;
	border-top-left-radius: calc(.25rem - 1px);
	border-top-right-radius: calc(.25rem - 1px);
	transition: all 0.8s;
}

.card:hover .news-card-img {
	transform: scale(1.05);
} 

.text-date {
	color: #be1723;
}

/* Call To Action
******************************/
section#cta h2 {
	font-size: 40px !important;
	color: #fff;
}

section#cta h2,section#cta h4 {
	padding:10px;
}

.btn-cta {
	background-color: transparent;
	border: 2px solid #fff !important;
	color: #fff !important;
	padding: 10px !important;
	margin-top: 30px;
}

.btn-cta:hover {
	background-color: #be1723;
	color: #f1e60d!important;
	padding: 10px !important;
	margin-top: 30px;
}
/* Footer
******************************/
footer {
	background-color: #30383c;
	padding: 40px 0px 30px;
}

.footer-brand{
	width: 300px;
	background: url(../img/eh-logo.png);
	background-size: contain;
	background-repeat: no-repeat;
	height: 80px;
	text-indent: -99999px;
	margin: 0px auto 40px;
}

footer h4 {
	color: #fff;
}

footer p, .footer-bottom p {
	font-size: 16px !important;
	color: #fff;
}

.footer-navbar {
	padding: 0px;
}

.footer-navbar li {
	padding: 0px 10px 0px 10px;
	display: inline-block;
	float: none;
}

.footer-navbar li button {
	background: none;
	border: none;
	color: #fff;
	padding: 0px;
	outline: none;
}

.footer-navbar li button:hover {
	background: none;
	border: none;
	color: #f1e60d;
	padding: 0px;
	outline: none;
}

.footer-navbar li {
	width: 100%;
	padding: 0px;
}

.footer-bottom {
	background-color: #202528;
	color: #fff;
	padding-top: 20px;
}

.footer-bottom span {
	color: #f1e60d;
}

/* Scrol To Top
******************************/
.back-to-top {
	position: fixed;
	bottom: 25px;
	right: 25px;
	display: none;
	z-index: 1000;
}

.btn-eh {
	color: #ffffff !important;
	background-color: #30383c !important;
	border-color: #f8f9fa !important;
}

.btn-eh:hover, .btn-eh:focus {
	color: #f1e60d !important;
	background-color: #be1723 !important;
	border-color: #f8f9fa !important;
	box-shadow: none !important;
}


/* ANIMATION
******************************/
.pulsing {
	/*animation-delay: 2s;*/
	animation: pulse 2s infinite;
	margin: 0 auto;
	display: table;
	margin-top: 50px;
	animation-direction: alternate;
}

@keyframes pulse {
	0% {
		opacity: 0.85;
	}
	100% {
		opacity: 0.55;
	}
}
/* Kontaktformular
******************************/
.contactform {
	padding: 50px 15px;
}

.form-group label {
	font-family: 'Montserrat', sans-serif;
	color: #30383c;
	text-transform: uppercase;
}

.form-group .form-control {
	width: 100%;
	border: none;
	border-bottom: 1px solid #30383c;
	border-radius: 0;
	padding-left: 0px;
}

.form-control {
	font-size: 18px !important;
}

.form-control:focus {
	color: #30383c;
	background-color: none !important;
	border-color: none !important;
	border-bottom-color: #be1723 !important; 
	outline: 0;
	box-shadow: none !important;
}

.btn-send {
	font-weight: 300;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	margin-bottom: 20px;
}

.btn-success.disabled, .btn-success:disabled, .btn-success, .btn-success.disabled:hover, .btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled):active:focus {
	color: #30383c !important;
	background-color: #fff !important;
	border: 2px solid #30383c !important;
	box-shadow: none;
}

.btn-success.focus, .btn-success:focus {
	box-shadow: none;
}

.btn-success:hover {
	color: #fff !important;
	background-color: #30383c !important;
	border: 2px solid #30383c !important;
}

.help-block.with-errors {
	color: #ff0012;
	margin-top: 5px;
}

.custom-control-input:focus ~ .custom-control-label::before {
	box-shadow:none !important;
}

.custom-control-input:active ~ .custom-control-label::before {
	background: rgba(40, 167, 69, 0.5) !important;
}

.custom-control {
	position: relative;
	display: block;
	min-height: 1.5rem;
	padding-left: 1.5rem;
}

.custom-control-input {
	position: absolute;
	left: 0;
	z-index: -1;
	width: 1rem;
	height: 1.25rem;
	opacity: 0;
}
.custom-control-input:checked~.custom-control-label::before {
	color: #fff;
	border-color: #28a745 !important;
	background-color: #28a745 !important;
}

.custom-checkbox label {
	text-transform: none;
}

.text-muted {
	color: #6c757d!important;
	font-size: 14px;
}

.alert-finish {
	border: 1px solid #cacccc;
	background: #fff;
	padding: 30px;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 10001;
	width: 370px;
}

.messages {
	position: fixed;
	z-index: 100;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}

.messages.shown {
	width: 100%;
	height: 100vh;
	background: rgba(0, 0, 0, 0.5);
	z-index: 10000;
}
/* Cookies
******************************/
.cc_dialog .cc_dialog_headline {
	font-size: 35px !important;
}

.cc_cp_head_title h2 {
	font-size: 20px !important;
}

.cookie-consent-preferences-overlay .cookie-consent-preferences-dialog .cc_cp_container .cc_cp_content .cc_cp_m_content .cc_cp_m_content_entry h1 {
	font-size: 24px !important;
}

.cc_cp_f_save button {
	background: #be1723 !important;
	color: #fff !important;;
}

.dark.cc_dialog button.cc_b_ok {
	background: #be1723 !important;
	color: #fff !important;;
}

.cc_dialog.simple {
	right: 0;
	top: auto;
	bottom: 0;
	left: auto;
	max-width: 100% !important;
	position: fixed;
}

.cc_cp_head {
	background: #be1723 !important;
	color: #fff;
}

.cc_cp_f_powered_by a, .cc_cp_m_content p a {
	color: #fff !important;
}

.cc_cp_f_powered_by a:hover, .cc_cp_m_content p a:hover {
	color: #f1e60d !important;
}
