/* Import */
/* roboto-300 - latin */
@font-face {
  font-display: swap;
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 300;
  src: url('../font/roboto-v30-latin-300.woff2') format('woff2'),
       url('../font/roboto-v30-latin-300.woff') format('woff');
}
/* roboto-regular - latin */
@font-face {
  font-display: swap;
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: url('../font/roboto-v30-latin-regular.woff2') format('woff2'),
       url('../font/roboto-v30-latin-regular.woff') format('woff');
}

/* roboto-500 - latin */
@font-face {
  font-display: swap;
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 500;
  src: url('../font/roboto-v30-latin-500.woff2') format('woff2'),
       url('../font/roboto-v30-latin-500.woff') format('woff');
}

/* roboto-700 - latin */
@font-face {
  font-display: swap; 
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  src: url('../font/roboto-v30-latin-700.woff2') format('woff2'), 
       url('../font/roboto-v30-latin-700.woff') format('woff'); 
}

/* Global */
:root {
	--color-blue: #009EE3;;
	--color-black: #333;
}
html {
	scroll-behavior: smooth;
}
body {
	font-family: 'Roboto', var(--bs-body-font-family);
	font-size: 1.25rem;
	-webkit-hyphens: auto;
	hyphens: auto;
	font-weight: 400;
	color: var(--color-black);
}
em {
	font-size: 1rem;
}
#noscript {
	background: #DC143C;
	z-index: 750;
	color: #fff;
	text-align: center;
	padding: 1rem 0rem;
}
.no-js noscript + img {
	display: none !important;
}
.fit-cover {
	object-fit: cover;
}
h1, h2, h3, h4 {
	hyphens: none !important;
}
/* Headlines */
h1, .h1 {
	font-size: 2rem;
	font-weight: 500;
}
h2, .h2 {
	font-size: 1.75rem;
	font-weight: 500;
}
h3, .h3 {
	font-size: 1.5rem;
	font-weight: 500;
}
h4, .h4 {
	font-size: 1.125rem;
	font-weight: 500;
}
.headline {
	font-weight: 500;
	font-size: 2.25rem;
}
a {
	text-decoration: none;
	color: var(--color-blue);
	border-bottom: 2px solid var(--color-blue);
	transition: border .2s;
}
a:hover, a:focus {
	text-decoration: none;
	color: var(--color-blue);
	border-color: transparent;
}

/* Buttons */
.btn {
	border-radius: 50px;
	border: none;
}
.btn-primary {
	background-color: var(--color-blue);
	color: #fff;
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:focus-visible, .btn-primary:active {
	background-color: #09658E !important;
	color: #fff;
	box-shadow: none !important;
}
a.btn:after {
	content: "›";
	position: relative;
	top: -.05rem;
	margin-left: .5rem;
}
/* Leistungen */
#TabContent .row:last-of-type {
	border-bottom: none !important;
}
/* Navigation */
.navbar-brand img {
	max-width: 200px;
}
.navbar-nav .nav-item a {
	color: var(--color-black);
	font-size: 1.5rem;
	border-bottom: 2px solid transparent;
	transition: all .3s;
}
.navbar-nav .nav-item a:hover, .navbar-nav .nav-item a:focus, .navbar-nav .nav-item a:active, .navbar-nav .nav-item a.active {
	color: var(--color-blue);
	border-color: var(--color-blue);
}
.navbar-nav .nav-item:not(:last-child) a {
	margin-right: 2rem;
}
.navbar-toggler:focus {
	box-shadow: none;
	}
/* Team */
.team-img {
	border-radius: 50%;
	border: 2px solid var(--color-blue);
	max-width: 400px;
}
main:not(#leistungen) ul {
  list-style: none;
}
main ul:not(#leistungen) li::before {
  content: "\2022"; 
  color: var(--color-blue);
  font-weight: 600;
  display: inline-block;
  width: 1em; 
  margin-left: -1em;
}
/* Kontakt Formular */
.form-control, .form-control {
	border-color: #dee2e6 !important;
	}
.form-control:focus, .form-select:focus, .form-check-input:focus {
	border-color: var(--color-blue);
}
.form-check-input:checked {
	background-color: var(--color-blue);
	border: 0;
}

/*----- Optin Google Maps Karte ----- */
iframe, #optin {
	border:0;
	width:100%;
	height:500px;
}
#optin {
	display:flex;
	margin-bottom:40px;
	align-items:center;
	justify-content:center;
	flex-direction:column;
	text-align:center;
	transition:border 2s;
}
#optin p {
	font-size: 14px;
}
#optin a {
	cursor:pointer;
}
/* Colors*/
.bg-blue {
	background-color: var(--color-blue);
}
.txt-blue {
	color: var(--color-blue);
}
/* Leistungen */
#leistungen li button {
	color: var(--color-blue);
	border-radius: 50px;
	border: 2px solid var(--color-blue) !important;
	transition: all .3s;
}
#leistungen li button.active, #leistungen li button:hover, #leistungen li button:focus {
	background-color: var(--color-blue);
	color: #fff;
	border-color: transparent;
}
/* Footer */
footer a {
	border-color: transparent;
}
footer a:hover, footer ul li a:focus, footer ul li a:active, footer ul li a.active{
	border-color: #fff;
}
img.dbl-logo {
	max-width: 200px;
}
p.copyright {
	font-size: 14px;
}
footer a {
	color: #fff !important;
	}
/* Lazy Load */
.lazy {
	opacity: 0;
}
.entered {
	transition: opacity 1s, transform .2s;
	opacity: 1;
}

/* Media Queries */
/* Media Query 576px */
@media (min-width: 576px) {
	.navbar-brand img {
		max-width: 250px;
	}
	h1, .h1 {
		font-size: 2.5rem;
		font-weight: 500;
	}
	h2, .h2 {
		font-size: 1.75rem;
		font-weight: 500;
	}
	h3, .h3 {
		font-size: 1.5rem;
		font-weight: 500;
	}
	h4, .h4 {
		font-size: 1.25rem;
		font-weight: 500;
	}
	.headline {
		font-weight: 500;
		font-size: 3.75rem;
	}
}
/* Media Query 768px */
@media (min-width: 768px) {
	.navbar-brand img {
		max-width: 275px;
	}
	img.float-img {
		max-width: 50%;
	}
	#leistungen li button {
	font-size: 1.25rem;
	}
}
/* Media Query 992px */
@media (min-width: 992px) {
	.navbar-brand img {
		max-width: 300px;
	}
	.navbar-nav .nav-item a {
		font-size: 1.75rem;
	}
	h1, .h1 {
		font-size: 3rem;
		font-weight: 500;
	}
	h2, .h2 {
		font-size: 2.25rem;
		font-weight: 500;
	}
	h3, .h3 {
		font-size: 1.75rem;
		font-weight: 500;
	}
	h4, .h4 {
		font-size: 1.5rem;
		font-weight: 500;
	}
	.headline {
		font-weight: 500;
		font-size: 3.75rem;
	}
	.navbar-nav .nav-item a {
		padding-bottom: .2rem !important
	}
	figure.float-lg-start {
		max-width: calc(50% - 1rem);
		margin: .75rem 2rem 3rem 0;
	}
	figure.float-lg-end {
		max-width: calc(50% - 1rem);
		margin: .75rem 0 3rem 2rem;
	}
	figure.float-lg-start + figure.float-lg-end {
		margin-left: 0;
	}
	.clear {
		clear: both;
	}
}
.white-popup {
  max-width: 1080px;
}
/* Loader */
.no-js #loader {
	display: none !important;
}
/* Loader */
#loader {
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	background-color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 1021;
}
#loader .lds-ripple {
  display: inline-block;
  position: relative;
  width: 80px;
  height: 80px;
}
#loader .lds-ripple div {
  position: absolute;
  border: 4px solid var(--color-blue);
  opacity: 1;
  border-radius: 50%;
  animation: lds-ripple 1s cubic-bezier(0, 0.2, 0.8, 1) infinite;
}
#loader .lds-ripple div:nth-child(2) {
  animation-delay: -0.5s;
}
@keyframes lds-ripple {
  0% {
    top: 36px;
    left: 36px;
    width: 0;
    height: 0;
    opacity: 0;
  }
  4.9% {
    top: 36px;
    left: 36px;
    width: 0;
    height: 0;
    opacity: 0;
  }
  5% {
    top: 36px;
    left: 36px;
    width: 0;
    height: 0;
    opacity: 1;
  }
  100% {
    top: 0px;
    left: 0px;
    width: 72px;
    height: 72px;
    opacity: 0;
  }
}

/* Hamburger-Icon */
.hamburger {
	display: inline-block;
	cursor: pointer;
	transition-property: opacity, filter;
	transition-duration: 0.15s;
	transition-timing-function: linear;
	font: inherit;
	color: inherit;
	text-transform: none;
	background-color: transparent;
	border: 0;
	margin: 0;
	overflow: visible; }
.hamburger.is-active .hamburger-inner,
.hamburger.is-active .hamburger-inner::before,
.hamburger.is-active .hamburger-inner::after {
	background-color: var(--color-blue); }
.hamburger-box {
	width: 40px;
	height: 8px;
	display: inline-block;
	position: relative; }
.hamburger-inner {
	display: block;
	margin-top: -2px; }
.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
	width: 40px;
	height: 4px;
	background-color: var(--color-blue);
	border-radius: 4px;
	position: absolute;
	transition-property: transform;
	transition-duration: 0.15s;
	transition-timing-function: ease; }
.hamburger-inner::before, .hamburger-inner::after {
	content: "";
	display: block; }
.hamburger-inner::before {
	top: -10px; }
.hamburger-inner::after {
	bottom: -10px; }
.hamburger--spin .hamburger-inner {
	transition-duration: 0.22s;
	transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
.hamburger--spin .hamburger-inner::before {
	transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in; }
.hamburger--spin .hamburger-inner::after {
	transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
.hamburger--spin.is-active .hamburger-inner {
	transform: rotate(225deg);
	transition-delay: 0.12s;
	transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
.hamburger--spin.is-active .hamburger-inner::before {
	top: 0;
	opacity: 0;
	transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out; }
.hamburger--spin.is-active .hamburger-inner::after {
	bottom: 0;
	transform: rotate(-90deg);
	transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); }