/*
Primary color: #215fa4
Default color: #454545;
Text color: #000000;
*/
/*!
* Font Awesome Free 5.10.1 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons:CC BY 4.0, Fonts:SIL OFL 1.1, Code:MIT License)
*/
@font-face {
	font-family:'Font Awesome 5 Free';
	font-style:normal;
	font-weight:900;
	font-display:auto;
	src:url("../webfonts/fa-solid-900.eot");
	src:url("../webfonts/fa-solid-900.eot?#iefix")
		format("embedded-opentype"), url("../webfonts/fa-solid-900.woff2")
		format("woff2"), url("../webfonts/fa-solid-900.woff") format("woff"),
		url("../webfonts/fa-solid-900.ttf") format("truetype"),
		url("../webfonts/fa-solid-900.svg#fontawesome") format("svg");
}

.fas {
	font-family:'Font Awesome 5 Free';
	font-weight:900;
}

/* montserrat-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  src: url('/assets/webfonts/montserrat-v31-latin-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('/assets/webfonts/montserrat-v31-latin-regular.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* montserrat-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  src: url('/assets/webfonts/montserrat-v31-latin-700.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('/assets/webfonts/montserrat-v31-latin-700.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* roboto-800 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 800;
  src: url('/assets/webfonts/roboto-v50-latin-800.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('/assets/webfonts/roboto-v50-latin-800.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}


html {
	overflow-y:scroll;	
}

body {
	font-family:'Montserrat', sans-serif;
	font-size:19px;
	line-height:1.5rem;
	color:#000000;
}

#header {
	height:160px;
	padding-top:25px;
	-moz-box-shadow:0px 0px 15px 5px rgba(0,0,0,0.25);
	-webkit-box-shadow:0px 0px 15px 5px rgba(0,0,0,0.25);
	box-shadow:0px 0px 15px 5px rgba(0,0,0,0.25);
	margin-bottom:75px;
}

#logo {
    display:block;
    float:left;
    width:292px;
    height:100px;
    background:url(/media/logo.svg) no-repeat;
    background-size:contain;
}

.container {
	min-width:360px;	
	position:relative;
}

a {
	color:#215fa4;
	text-decoration:none;
}

a:hover,
a:focus {
	color:#000000;
}
	
.btn:focus,
.btn:active,
a:focus,
a.active {
  outline:none !important;
}

h1 {
	color:#215fa4;
	font-size:2rem;
	font-weight:700;
	padding-bottom:1.3rem;
	margin-bottom:1.3rem;
	position:relative;
}

h1::after {
  	display:block;
  	content:'';
  	width:80px;
  	height:6px;
  	background:#febb23;
  	position:absolute;
	bottom:0px;
  	left:-25px;
}

h2 {
	color:#215fa4;
	font-size:2rem;
	font-weight:700;
	padding-bottom:1rem;
	margin-bottom:1rem;
	position:relative;
}

h4 {
	color:#215fa4;
	font-weight:700;
}

h5 {
	font-size:1.35rem;
	color:#215fa4;
	font-weight:700;
}

h6 {
	color:#215fa4;
	font-weight:700;
}

.btn-secondary {
	border:1px solid #febb23;
	background:#febb23;
	color:#000000;
	-webkit-border-radius:25px;
	-moz-border-radius:25px;
	border-radius:25px;
	padding:8px 40px;
}

.btn-secondary:hover,
.btn-secondary:focus {
	border:1px solid #215fa4;
	background:#215fa4;
	color:#ffffff;
}

.wrapper {
	padding-bottom:80px;
}

/* Navigation ------------------------------- */

#navbarSupportedContent {
	font-family:'Roboto', sans-serif;
	padding-top:25px;
}

.navbar-expand-lg .navbar-nav .nav-item {
	padding-left:30px;
}

.navbar-expand-lg .navbar-nav .nav-link {
	padding:3px 0px !important;
	color:#215fa4;
	font-weight:800;
	text-transform:uppercase;
	border-bottom:4px solid #ffffff;
}

.navbar-expand-lg .navbar-nav .nav-link:hover,
.navbar-expand-lg .navbar-nav .nav-link.active {
	border-color:#febb23;	
}

/* Text images -------------------------------- */

.text-images .images {
	padding:25px;
	position:relative;
}

.text-images .border {
	position:absolute;
	z-index:10;		
	top:0px;
	right:150px;
	bottom:0px;
	left:0px;
	background:#215fa4;
	-webkit-border-top-left-radius: 25px;
	-webkit-border-bottom-left-radius: 25px;
	-moz-border-radius-topleft: 25px;
	-moz-border-radius-bottomleft: 25px;
	border-top-left-radius: 25px;
	border-bottom-left-radius: 25px;
}

.text-images .cycle-slideshow {
	background:#ffffff;	
	z-index:20;
	-webkit-border-radius:25px;
	-moz-border-radius:25px;
	border-radius:25px;	
	overflow:hidden;
}

.text-images img {
	position:relative;
	z-index:30;
}

.text-images .wysiwyg {
	padding:25px 0px 30px 0px;	
}

/* Teaser ------------------------------------ */

.teaser h2 {
	text-align:center;
}

.teaser .box {
	padding-right:50px;
	position:relative;	
}

.teaser .hover {
	border:2px solid #febb23;
	-webkit-border-radius:25px;
	-moz-border-radius:25px;
	border-radius:25px;
	padding:30px;	
	margin-bottom:25px;
	min-height:280px;
}

.teaser .circle {
	position:absolute;
	left:-35px;
	top:10px;
	background:#febb23;	
	width:60px;
	height:60px;
	-webkit-border-radius:30px;
	-moz-border-radius:30px;
	border-radius:30px;
	font-size:30px;
	line-height:60px;
	text-align:center;
	color:#215fa4;
}

.teaser .hover .headline {
	font-size:1.35rem;
	color:#215fa4;
	font-weight:700;
	padding-bottom:10px;
}

/* Testimonials ------------------------------ */

.testimonials {
	text-align:center;
}

.testimonials .testimonial .circle {
	aspect-ratio : 1 / 1;
	-webkit-border-radius:50%;
	-moz-border-radius:50%;
	border-radius:50%;
	color:#ffffff;
	padding:0px 20px; 
	background:url(/media/testimonial.png) center center no-repeat #215fa4;
}

/* Yform ------------------------------------- */

#yform-position {
	position:relative;
	top:-100px;
}

#rex-yform label {
	display:none;	
}

#rex-yform .checkbox label {
	display:block;
	float:none;
	width:100%;
	font-weight:normal;
}

#rex-yform .form-group {
	padding-bottom:15px;
}

#rex-yform .formcheckbox {
	padding-bottom:25px;
}

#rex-yform .form-group, #rex-yform .formcheckbox input {
	margin-right:10px;
}

#rex-yform .form-control {
	font-family:'Montserrat', sans-serif;
	font-size:19px;	
	padding:5px 10px;	
	-webkit-border-radius:0px;
	-moz-border-radius:0px;
	border-radius:0px;	
}

#rex-yform select,
#rex-yform input,
#rex-yform textarea,
#rex-yform button {
	font-family:sans-serif;
	font-size:16px;
}

#rex-yform textarea {
    height:150px;
}

#yform-formular-email,
#yform-formular-subject {
	display:none;	
}

.btn-primary {
	display:block;
	margin:0px auto;
	border:1px solid #febb23;
	background:#febb23;
	color:#000000;
	-webkit-border-radius:25px;
	-moz-border-radius:25px;
	border-radius:25px;
	padding:8px 40px;
}

.btn-primary:hover,
.btn-primary:focus {
	border:1px solid #215fa4;
	background:#215fa4;
	color:#ffffff;
}

/* Address / map ----------------------------- */

.address-map {
	line-height:40px;
}

.address-map h2 {
	text-align:center;
}

.address-map ul {
	list-style:none;
	padding:0px;
	margin-bottom:30px;
}

.address-map .fas {
  display:inline-block;
  margin-right:10px;
  background:#febb23;
  border-radius:50%;
  width:25px;
  height:25px;
  line-height:25px;
  text-align:center;
  color:#ffffff;
  font-size:12px;
}

#map-cookie {
	text-align:center;
	padding:170px 30px 0px 30px;
	background:url(/media/map-cookie.jpg);
	background-size:cover;
	background-position:center;
	height:500px;
	color:#ffffff;	
}

#map-cookie-text {
	display:inline-block;
	padding-bottom:20px;
	color:#ffffff;
}

#map-cookie-text a {
	color:#ffffff;
}

#map-cookie-accept {
	display:inline-block;
	white-space:normal;
}

.address-map iframe {
	width:100%;
	height:500px;
	border:0px;
}

/* Footer ------------------------------------ */

#footer {
	padding-top:50px;
	background:#454545;
	color:#ffffff;
	line-height:40px;
}

#footer .footer-1,
#footer .footer-2 {
	border-right:1px solid #f3bd4a;
}

#footer .footer-2,
#footer .footer-3 {
	padding-left:70px;
}

#footer h5 {
	font-weight:bold;
	color:#ffffff;
}

#footer ul {
	list-style:none;
	padding:0px;
}

#footer .fas {
  display:inline-block;
  margin-right:10px;
  background:#febb23;
  border-radius:50%;
  width:25px;
  height:25px;
  line-height:25px;
  text-align:center;
  color:#ffffff;
  font-size:12px;
}

#footer a {
	color:#ffffff;
}



@media screen and (max-width:1299px) { 
	
	.testimonials .testimonial .circle {
		max-width:300px;
		margin:0px auto 20px auto;
	}

}

@media screen and (max-width:1199px) { 
	
	.teaser .box {
		padding-right:30px;
		margin-left:30px;
	}
	 
	.teaser .hover {
		min-height:0px;
	}
	 
	#footer .footer-1,
	#footer .footer-2 {
		border:none;
		padding-bottom:30px;
	}
	
	#footer .footer-2,
	#footer .footer-3 {
		padding-left:12px;
	}
 
}

@media screen and (max-width:991px) {
	 
	 .navbar {
	 	position:static;
	 }
	 
	#logo {
		width:175px;
		height:60px;
	}
	
	#header {
		height:120px;
	}
	 
	.navbar-toggler {
		background:#ffffff;
		border:2px solid #215fa4;
		-webkit-border-radius:0px;
		-moz-border-radius:0px;
		border-radius:0px;  		
	}
	
	.navbar-toggler:focus {
		box-shadow:none;
	}
	
	.navbar-toggler-icon {
		background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 95, 164, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")
	}
	 
	 #navbarSupportedContent {
		 position:absolute;
		 top:95px;
		 right:0px;
		 left:0px;
	 	background:#ffffff;
	 	z-index:99;
	 	border:1px solid #215fa4; 
	 	padding-right:30px;
	 }
	 
}

@media screen and (max-width:767px) {
	
	.text-images .images {
		padding:15px;
	}
	
	.address-map {
		font-size:16px;
	}
	
	#footer {
		font-size:16px;
	}
	
}