/* FONTS */
/* poppins-300 - 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: 'Poppins';
  font-style: normal;
  font-weight: 300;
  src: url('/assets/fonts/poppins-v24-latin-300.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('/assets/fonts/poppins-v24-latin-300.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
/* poppins-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: 'Poppins';
  font-style: normal;
  font-weight: 400;
  src: url('/assets/fonts/poppins-v24-latin-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('/assets/fonts/poppins-v24-latin-regular.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
/* poppins-italic - 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: 'Poppins';
  font-style: italic;
  font-weight: 400;
  src: url('/assets/fonts/poppins-v24-latin-italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('/assets/fonts/poppins-v24-latin-italic.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
/* poppins-500 - 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: 'Poppins';
  font-style: normal;
  font-weight: 500;
  src: url('/assets/fonts/poppins-v24-latin-500.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('/assets/fonts/poppins-v24-latin-500.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
/* poppins-600 - 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: 'Poppins';
  font-style: normal;
  font-weight: 600;
  src: url('/assets/fonts/poppins-v24-latin-600.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('/assets/fonts/poppins-v24-latin-600.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
/* poppins-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: 'Poppins';
  font-style: normal;
  font-weight: 700;
  src: url('/assets/fonts/poppins-v24-latin-700.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('/assets/fonts/poppins-v24-latin-700.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* GLOBAL */
:root {
	--cnvs-themecolor: #0089c3;
	--cnvs-themecolor-rgb: 21, 157, 215;

	--cnvs-themecolor-2: #b4b4b4;
	--cnvs-themecolor-2-rgb: 180, 180, 180;

	--main-color: #357996;
	--main-color-rgb: 53, 121, 150;
	--secondary-color: #159dd7;
	--secondary-color-rgb: 21, 157, 215;

	--cnvs-header-height: 100px;
	--cnvs-body-font: 'Poppins', sans-serif;
	--cnvs-primary-font: 'Poppins', sans-serif;
	--cnvs-secondary-font: 'Merriweather', serif;

	--cnvs-header-height: 100px;


	/*--cnvs-font-size-body: 1rem;
	--cnvs-line-height-content: 2;
	--bs-body-font-weight: 300; 
	
	--cnvs-heading-color:var(--main-color);
	--cnvs-slider-caption-width: 800px;

	--cnvs-page-title-parallax-subtitle-size: 2rem;
	 --button-hover: #444; 
	--menu-breakpoint: 1015px;

	--cnvs-headings-font-weight: 900;*/
}

#header {
	--cnvs-primary-menu-font-weight: 500;
	--cnvs-primary-menu-font-size:	1rem;
	--cnvs-primary-menu-tt:	none;
	--cnvs-primary-menu-ls:	0;
	--cnvs-primary-menu-submenu-font-size:	0.9325rem;
	--cnvs-primary-menu-submenu-font-weight:	400;
	--cnvs-primary-menu-submenu-hover-font-weight: 500;
	--cnvs-primary-menu-submenu-tt:	none;
	--cnvs-primary-menu-font: var(--cnvs-body-font);
}
.is-expanded-menu .menu-link {
	--cnvs-primary-menu-padding-x: 20px;
}
#header-wrap > .container:first-child { border-bottom: 1px solid rgba(255,255,255,0.2); }
.is-expanded-menu .menu-item.menu-item-emphasis > .menu-link { padding-left: 0; padding-right: 0; }
.is-expanded-menu .menu-item.menu-item-emphasis > .menu-link div { padding-top: 9px; padding-bottom: 9px; margin-top: -9px; margin-bottom: -9px; padding-left: 20px; padding-right: 20px; border-radius: 20px; }
.is-expanded-menu #header:not(.sticky-header) .menu-item.menu-item-emphasis > .menu-link div { background-color: rgba(255,255,255,0.1); text-shadow: none; }
.is-expanded-menu #header:not(.sticky-header) .menu-item.menu-item-emphasis:hover > .menu-link div { background-color: #FFF; color: var(--cnvs-themecolor) !important; }
.is-expanded-menu #header.sticky-header .menu-item.menu-item-emphasis > .menu-link div { background-color: var(--cnvs-themecolor); color: #FFF; }
.is-expanded-menu .sub-menu-container:not(.mega-menu-column) { width: 260px; padding: 20px; border: 1px solid #EEE !important; border-radius: 0 0 3px 3px; left: -20px; }
.is-expanded-menu .sub-menu-container .menu-item > .menu-link { font-size: 14px; font-weight: 400; text-transform: capitalize; padding: 12px 20px; font-family: var(--cnvs-body-font) !important; }

.is-expanded-menu .sub-menu-container .menu-item:hover > .menu-link { padding-left: 25px; }
#slider .emphasis-title h1 { font-size: 48px; }
.hero-action-link { margin-left: 30px; color: #DDD; font-size: 20px; font-weight: 300; white-space: nowrap; }
.hero-action-link i { margin-right: 7px; position: relative; top: 2px; }

.hero-action-link:hover { border-bottom: 1px solid #DDD; }


a {transition: all 0.2s ease-in-out}
.dark {--cnvs-footer-bg: var(--main-color);}
.underliner {
	--cnvs-underliner-size: 100%;
	--cnvs-underliner-color: var(--secondary-color-rgb);
	padding: 5px;
}

.grecaptcha-badge {visibility: hidden;}
b, strong {font-weight: 600;}

.badge {
	--bs-badge-font-weight: 500;
	background-color: var(--cnvs-themecolor-2);
}
.textcontent ul, .textcontent ol, .postcontent ul, .postcontent ol, .accordion-content ul, .accordion-content ol {padding-left: 20px;}
.textcontent li, .postcontent li, .accordion-content li {margin-bottom: 10px;}

.button {border-radius: 23px;}
.promo {background-color: rgba(var(--cnvs-themecolor-2-rgb), 0.1); border-radius: 4px;}

/* HEADER */

#header .subtitle {margin-top:20px;}
.is-expanded-menu .sub-menu-container {background-color: rgba(255,255,255,.7);	backdrop-filter: saturate(120%) blur(10px);}
.is-expanded-menu .sticky-header .sub-menu-container {background-color: rgba(255,255,255,.95);}
#header:not(.sticky-header) #header-wrap > .container:first-child {margin-top: 50px;}
@media (max-width: 1199px)  {
	#header:not(.sticky-header) #header-wrap > .container:first-child {margin-top: 20px;}
}

.subtitle > div, #footer .logotitle  {font-size: 14px; font-weight: 600;letter-spacing: 1px;opacity: .7;text-transform: uppercase;}
.subtitle > div span, #footer .logotitle span {font-size: 14px; font-weight: 300;letter-spacing: 2px;opacity: 1;}
#logo img {height: calc(var(--cnvs-header-height) - 50px)!important}
@media (max-width: 992px)  {
	#logo img {margin-bottom: 20px;}
}
.sticky-header #logo img {height: calc(var(--cnvs-header-height) - 50px)!important}
.sticky-header #header-wrap .subtitle {display: none}

.is-expanded-menu .sticky-header #header-wrap {background-color: rgba(255,255,255,.7);backdrop-filter: saturate(120%) blur(10px);-webkit-backdrop-filter: saturate(120%) blur(10px);}
.is-expanded-menu #header:not(.sticky-header) #logo img {height: 50px!important;}
.is-expanded-menu #header.sticky-header #logo img {height: 35px!important;}

@media (max-width: 992px)  {
	#header-wrap .subtitle {display: none}
}

#top-bar {position: absolute;top: 0;left: 0;z-index: 1000; width: 100%;background-color: transparent;}
@media (max-width: 1199px)  {
	#top-bar {position: relative; background: rgba(23, 55, 68, 1);}
}
.top-links-item:hover, .top-links-sub-menu .top-links-item:hover {background-color: rgba(52, 58, 64,.5); backdrop-filter: saturate(120%) blur(10px);}
.top-links-sub-menu, .top-links-section {background: rgba(52, 58, 64,.95);backdrop-filter: saturate(120%) blur(10px);}

/* Mobile Fix für Dropdown Z-Index */
@media (max-width: 767px) {
	.top-links-sub-menu, .top-links-item {
		z-index: 1500 !important;
	}
	
	#top-social {
		position: relative;
		z-index: 1;
	}
}

#top-social a {font-weight: 400;}

/* SLIDER */

#slider .emphasis-title h1 {font-weight: 600;}
#slider .emphasis-title h1 span {font-weight: 300;}

h1 > span:not(.nocolor):not(.badge), .h1 > span:not(.nocolor):not(.badge), h2 > span:not(.nocolor):not(.badge), .h2 > span:not(.nocolor):not(.badge), h3 > span:not(.nocolor):not(.badge), .h3 > span:not(.nocolor):not(.badge), h4 > span:not(.nocolor):not(.badge), .h4 > span:not(.nocolor):not(.badge), h5 > span:not(.nocolor):not(.badge), .h5 > span:not(.nocolor):not(.badge), h6 > span:not(.nocolor):not(.badge), .h6 > span:not(.nocolor):not(.badge) {
    color: var(--maincolor);
}
#bs-carousel {box-shadow: 10px 20px 15px silver;}
.carousel-control-prev, .carousel-control-next, .carousel-caption, .carousel-indicators {z-index: 10;}
.carousel-item img, .video-overlay {border-radius: 4px;}

.color {
    color: rgba(var(--cnvs-themecolor-rgb), var(--bs-text-opacity, 1)) !important;
}
@media (min-width: 576px) {
.services-category-item .card-body {min-height: 230px;}
}
.services-category-item h4 {font-size: 16px;}
.services-categories {
	counter-reset: services-category-item-number;
}
.services-categories .services-category-item {
	position: relative;
}
.services-categories .services-category-item::before {
	position: absolute;
    z-index: 1;
    top: 5px;
    left: var(--bs-gutter-x);
	font-size: 80%;
	font-family: monospace;
	font-weight: bold;
    counter-increment: services-category-item-number;
    content: counter(services-category-item-number, decimal-leading-zero)".";
}
.services-categories .services-category-item a:hover {
	background-color: var(--cnvs-themecolor);
	color: rgba(255,255,255,0.6);
}
.services-categories .services-category-item a:hover h4 {
	color: #FFF;
}
.services-categories .services-category-item:hover::before {
	color: #FFF;
}

/* PAGETITLE */
.page-title-parallax .container {z-index: 5;}
.parallax-bg {object-position: center 25%;}

/* Color Block mobile centering */
@media (max-width: 767px) {
	.page-title .color-block {
		margin-left: auto !important;
		margin-right: auto !important;
	}
}

/* PAGES */
aside.sidebar {background-color: var(--cnvs-section-bg);}
aside.sidebar .widget {border-bottom: 1px solid rgba(255,255,255,.1);}
.content-wrap.pt-0 .postcontent, .content-wrap.pt-0 .sidebar {padding-top: var(--cnvs-content-padding);}

.widget {--cnvs-widget-margin: 1.5rem;}
.widget h5 span {font-weight: 300;}
.widget.downloads div, .widget.news div {margin-bottom: 1.3rem;}
.widget.downloads div:last-child, .widget.news div:last-child {margin-bottom: 0;}

blockquote {
    padding: 10px 20px;
    margin: 0 0 20px;
    font-size: 1.1rem;
    border-left: 5px solid var(--cnvs-contrast-200);
}
.standorte {position: absolute; top:20px}
.standorte a, .standorte-kontakt a {background-color: var(--butzbach-color);padding: 5px 10px; border-radius: 4px; color: #FFF; font-weight: 600;}
.standorte a:hover, .standorte-kontakt a:hover {background-color: var(--main-color)!important;}
.standorte-kontakt a {margin-right: 5px;}

/* Pagination */
.pagination {margin-top: 40px;}
.system_pagination li .dots, .system_pagination li a {border: solid var(--cnvs-themecolor);border-width: 1px 1px 1px 1px;}
.system_pagination li.active a {background: var(--cnvs-themecolor);}
.system_pagination li:first-child {margin-left: 0!important;}

/* DOWNLOADS */
.download-item h4 span {font-weight: 300;}

/* SEARCHRESULTS */
.searchresult .fbox-content p span, p.searchresult span {padding: 5px;background-color: #F5F5F5;color: #000;border-radius: 2px;box-decoration-break: clone;-webkit-box-decoration-break: clone;-o-box-decoration-break: clone;}
.searchresult h3 span {border: 1px solid #888;color: #888!important;padding: 3px;font-size: .7rem;margin-left: 10px;}

/* MODAL AND PROMO */
.modal-content {background-color: rgba(255,255,255,.5);backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px); box-shadow: 0 0 10px rgba(0,0,0,.1);}
.modal {--bs-modal-header-border-color: #ccc;}
.modal-body {background-color: #fff;}
.promo {--cnvs-promo-parallax-padding: 3rem;}

/* Sprechzeiten Flexbox-Layout */
.sprechzeiten-row {
	display: flex;
	align-items: flex-start;
	gap: 0.5em;
}
.sprechzeiten-label {
	min-width: 50px; /* Passe die Breite ggf. an */
	font-weight: bold;
	flex-shrink: 0;
}
.sprechzeiten-zeiten {
	flex: 1 1 0%;
}

/* TEAM */
.team-title h4 {font-weight: 600;letter-spacing: 0;text-transform: inherit;}
.team-title span {font-weight: 300;font-size: var(--cnvs-font-size-small);}

/* LEISTUNGEN */
.card-body {border: 1px solid rgba(var(--main-color-rgb),.51); border-radius: 7px;}

/* BARRIEREFREIHEIT */
.sr-only, .visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  border: 0 !important;
}
.skip-link {
    position: absolute;
    left: -999px;
    top: 10px;
    background: #005fa3;
    color: #fff;
    padding: 8px 16px;
    z-index: 1000;
    text-decoration: none;
}
.skip-link:focus {
    left: 10px;
}
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible {
    outline: 3px solid #1976d2;
    outline-offset: 2px;
    border-radius: 3px;
    transition: outline 0.2s;
}

/* CMS OSE */
body:not(.cms_ose_activated) [data-cms_ose_delete_item_button],body:not(.cms_ose_activated) [data-cms_ose_edit_item_button],body:not(.cms_ose_activated) [data-cms_ose_add_new_item_button] {display: none !important;}
.ose-controls:not(.inline) a	{background-color: rgb(23, 95, 229); padding: 5px 10px; border-radius: 50%; font-size: 1.5rem; margin-right: .4rem; position: relative; box-shadow: 0 2px 8px 0 rgba(0,0,0,0.12);}
.ose-controls:not(.inline) a i {color: #f5f5f5;}
.ose-controls:not(.inline) a:hover {background-color: #444!important; text-decoration: none; box-shadow: 0 4px 12px 0 rgba(0,0,0,0.2);}