/*--------------------------------------------------------------
# FONTS
--------------------------------------------------------------*/
/* Agenda */
@font-face { 
	font-family: "Agenda-regular"; 
	font-display: swap; 
	font-style: normal;
	font-weight: normal; 
	src: url('../fonts/agenda-light.woff') format('woff'),
		 url("../fonts/agenda-light.ttf") format("truetype"); 
}
@font-face { 
	font-family: "Agenda-bold-condensed"; 
	font-display: swap; 
	font-style: normal;
	font-weight: normal; 
	src: url('../fonts/agenda-boldcondensed.woff') format('woff'),
		 url("../fonts/agenda-boldcondensed.ttf") format("truetype"); 
}
@font-face { 
	font-family: "Agenda-bold"; 
	font-display: swap; 
	font-style: normal; 
	font-weight: normal;
	src: url('../fonts/agenda-bold.woff') format('woff'),
		 url("../fonts/agenda-bold.ttf") format("truetype"); 
}
@font-face {
    font-family: 'Myriad Pro Regular';
    font-style: normal;
    font-weight: normal;
    src: local('Myriad Pro Regular'), url('../fonts/MYRIADPRO-REGULAR.woff') format('woff');
}
@font-face {
    font-family: 'Myriad Pro Condensed';
    font-style: normal;
    font-weight: normal;
    src: local('Myriad Pro Condensed'), url('../fonts/MYRIADPRO-COND.woff') format('woff');
    }
     

    @font-face {
    font-family: 'Myriad Pro Light';
    font-style: normal;
    font-weight: normal;
    src: local('Myriad Pro Light'), url('../fonts/MyriadPro-Light.woff') format('woff');
    }
    

    @font-face {
    font-family: 'Myriad Pro Semibold';
    font-style: normal;
    font-weight: normal;
    src: local('Myriad Pro Semibold'), url('../fonts/MYRIADPRO-SEMIBOLD.woff') format('woff');
    }
       

    @font-face {
    font-family: 'Myriad Pro Bold Condensed';
    font-style: normal;
    font-weight: normal;
    src: local('Myriad Pro Bold Condensed'), url('../fonts/MYRIADPRO-BOLDCOND.woff') format('woff');
    }
    

    @font-face {
    font-family: 'Myriad Pro Bold';
    font-style: normal;
    font-weight: normal;
    src: local('Myriad Pro Bold'), url('../fonts/MYRIADPRO-BOLD.woff') format('woff');
    }
    

/*--------------------------------------------------------------
# General
--------------------------------------------------------------*/
body {
   font-family: 'Myriad Pro Regular';
  color: #333333;
  font-size: 1.1em;
  line-height: 1.5em;
 /* padding-top: 8.5rem;*/
}
/*@media (max-width: 1200px) {
	body {
  padding-top: 6.5rem;
}
}
@media (max-width: 992px) {
	body {
  padding-top: 4rem;
}
}*/


a {text-decoration: none;}
a {color: #817e7f; font-weight: 700;}
a:hover {color: #17406c;}

.frame-type-2cols p {margin-bottom: 1.7rem;}

h1, h2, h3, h4, h5, h6 {
    color: #17406c;
}
h1 { font-size: 2.875rem; font-family: 'Myriad Pro Regular',Helvetica,Arial,Lucida,sans-serif; /*padding-bottom: 0.7em;*/ }
@media (max-width: 767px) {
	h1 { /*hyphens: auto;*/ font-size: 2rem;}
}
h2 { font-size: 2.25rem; font-family: 'Myriad Pro Regular',Helvetica,Arial,Lucida,sans-serif; /*padding-bottom: 20px;*/ }
h3 { font-size: 1.375rem; font-family: 'Myriad Pro Regular',Helvetica,Arial,Lucida,sans-serif; color: #333333; }
h4 { font-size: 1.25rem; font-family: 'Myriad Pro Bold Condensed',Helvetica,Arial,Lucida,sans-serif; }

b, strong {
    font-weight: 700;
}
hr {
    margin: 1rem 0;
    color: inherit;
    background-color: #e5e5e5;
    opacity: 1;
}

.black {color: #000;}
.bg-light {background-color: rgba(128, 126, 127, .1)!important}
.bg-white {background-color: #fff;}
.bg-grey {background-color: #dfdfdf;}
.bg-blue {background-color: #17406c; color: #fff;}
.bg-blue h1, .bg-blue h2, .bg-blue h3, .bg-blue h4, .bg-blue h5, .bg-blue h6 {
    color: #fff;
}
/*.bg-darkgrey {background-color: #817E7F; border-radius: 4px;}*/
.bg-darkgrey {background-color: rgba(129, 126, 127, 1); border-radius: 4px;}
.bg-darkgrey-25 {background-color: rgba(129, 126, 127, 0.25); border-radius: 4px;}
.bg-darkgrey-50 {background-color: rgba(129, 126, 127, 0.5); border-radius: 4px;}
.bg-darkgrey-75 {background-color: rgba(129, 126, 127, 0.75); border-radius: 4px;}
.bg-darkgrey-80 {background-color: rgba(129, 126, 127, 0.8); border-radius: 4px;}
.bg-darkgrey-85 {background-color: rgba(129, 126, 127, 0.85); border-radius: 4px;}
.bg-darkgrey-90 {background-color: rgba(129, 126, 127, 0.9); border-radius: 4px;}
.bg-darkgrey-95 {background-color: rgba(129, 126, 127, 0.95); border-radius: 4px;}
.bg-blue-25 {background-color: rgba(23, 64, 108, 0.25); border-radius: 4px;}
.bg-blue-50 {background-color: rgba(23, 64, 108, 0.5); border-radius: 4px;}
.bg-blue-75 {background-color: rgba(23, 64, 108, 0.75); border-radius: 4px;}
.bg-blue-80 {background-color: rgba(23, 64, 108, 0.8); border-radius: 4px;}
.bg-blue-85 {background-color: rgba(23, 64, 108, 0.85); border-radius: 4px;}
.bg-blue-90 {background-color: rgba(23, 64, 108, 0.9); border-radius: 4px;}
.bg-blue-95 {background-color: rgba(23, 64, 108, 0.95); border-radius: 4px;}
.bg-white-25 {background-color: rgba(255, 255, 255, 0.25); border-radius: 4px;}
.bg-white-50 {background-color: rgba(255, 255, 255, 0.5); border-radius: 4px;}
.bg-white-75 {background-color: rgba(255, 255, 255, 0.75); border-radius: 4px;}
.bg-white-80 {background-color: rgba(255, 255, 255, 0.8); border-radius: 4px;}
.bg-white-85 {background-color: rgba(255, 255, 255, 0.85); border-radius: 4px;}
.bg-white-90 {background-color: rgba(255, 255, 255, 0.9); border-radius: 4px;}
.bg-white-95 {background-color: rgba(255, 255, 255, 0.95); border-radius: 4px;}


.bg-babyblue {background-color: #B7DDEC}

.ce-border img, .ce-border iframe {
	border: 0;
	padding: 0px;
	border-radius: 4px 4px 4px 4px;
}

@media screen and (min-width: 1440px) {
	.container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
		max-width: 1280px;
	}
}
.text-default {color: #333333;}
.text-grey {color: #807E7F;}
.text-red {color: #d22e26;}

/*.bg-opacity-25 {opacity: 0.25;}
.bg-opacity-50 {opacity: 0.5;}
.bg-opacity-75 {opacity: 0.75;}*/

/*Buttons*/
.btn {
	padding: 0.7rem 2.75rem;
	line-height: normal;
font-size:1.25rem;
}
.btn-primary {
	color:#fff;
	background-color: rgba(210,46,38,1);
	border-color:rgba(210,46,38,1);	
	font-family: 'Agenda-bold-condensed',Helvetica,Arial,Lucida,sans-serif;
}
.btn-primary:hover {
    color: #fff;
    background-color: rgba(210,46,38,.8);
    border-color: rgba(210,46,38,.8);
}
.btn-primary:focus {
	color:#fff;
	background-color:rgba(210,46,38,.8);
	border-color:rgba(210,46,38,.8);
	box-shadow:0 0 0 .25rem rgba(130,138,145,0)
}
.btn-primary.active,
.btn-primary:active {
	color:fff;
	background-color:rgba(210,46,38,.8);
	border-color:rgba(210,46,38,.8);
}
.btn-primary.active:focus,
.btn-primary:active:focus {
	box-shadow:0 0 0 .25rem rgba(130,138,145,0)
}

/* Text alignment */
    .ce-headline-left { text-align: left; }
    .ce-headline-center { text-align: center; }
    .ce-headline-right { text-align: right; }
/* Space */
    .frame-space-before-extra-small { margin-top: 1em; }
    .frame-space-before-small { margin-top: 2em; }
    .frame-space-before-medium { margin-top: 3em; }
    .frame-space-before-large { margin-top: 4em; }
    .frame-space-before-extra-large { margin-top: 5em; }
    .frame-space-after-extra-small { margin-bottom: 1em; }
    .frame-space-after-small { margin-bottom: 2em; }
    .frame-space-after-medium { margin-bottom: 3em; }
    .frame-space-after-large { margin-bottom: 4em; }
    .frame-space-after-extra-large { margin-bottom: 5em; }
	@media (max-width: 992px) {
		.frame-space-before-extra-large { margin-top: 3em; }
		.frame-space-after-extra-large { margin-bottom: 3em; }
	}
/*Trenner*/
	.frame-layout-1 hr.ce-div {height: 3px; opacity: 1; color: #d22e26;}
/*Typo-eigene Galerie*/
	.ce-intext.ce-right .ce-gallery,
	.ce-intext.ce-left .ce-gallery,
	.ce-above .ce-gallery {margin-bottom: 0;}
	.ce-gallery .ce-column {margin: 0; padding: 0; box-sizing: border-box;}
	.ce-gallery img {width: 100%; height: auto;}
	/*.ce-gallery[data-ce-columns="1"] .ce-column img {width: 100%; height: auto;}*/
	.ce-gallery[data-ce-columns="1"] .ce-column {margin-bottom: 10px;}
	.ce-gallery[data-ce-columns="2"] .ce-column {width: 48%;  padding: 0 5px;}
	.ce-gallery[data-ce-columns="2"] .ce-column:first-child {padding-left: 0;}
	.ce-gallery[data-ce-columns="2"] .ce-column:last-child {padding-right: 0;}
	.ce-gallery[data-ce-columns="3"] .ce-column {width: 32%;  padding: 0 5px;}
	.ce-gallery[data-ce-columns="4"] .ce-column {width: 23%;  padding: 0 5px;}
	.ce-gallery[data-ce-columns="5"] .ce-column {width: 18%;  padding: 0 5px;}
	.ce-gallery[data-ce-columns="6"] .ce-column {width: 16.66%; padding: 0 5px;}
	@media (max-width: 992px) {
		/*.ce-gallery[data-ce-columns="1"] .ce-column {width: 100%;  padding: 0 5px;}*/
		.ce-gallery[data-ce-columns="6"] .ce-row {margin-bottom: 0;}
		.ce-gallery[data-ce-columns="6"] .ce-column {width: 33%; padding: 0 5px 10px 5px;}
		.ce-textpic.ce-left.ce-intext .ce-gallery[data-ce-columns="1"] .ce-column {margin-bottom: 0;}
	}
	@media only screen and (max-width: 768px) {
		/*.ce-textpic.ce-left.ce-intext .ce-gallery[data-ce-columns="1"],
		.ce-textpic.ce-right.ce-intext .ce-gallery[data-ce-columns="1"] {width: 100%; margin-right: 0; margin-bottom: 10px;}
		.ce-textpic.ce-left.ce-intext .ce-gallery[data-ce-columns="1"] .ce-column,
		.ce-textpic.ce-right.ce-intext .ce-gallery[data-ce-columns="1"] .ce-column {width: 100%; margin-bottom: 10px;}*/

		.ce-textpic.ce-nowrap .ce-bodytext {overflow: visible;}
		
	}
	@media only screen and (max-width: 600px) {
		.ce-gallery[data-ce-columns="6"] .ce-row {margin-bottom: 0;}
		.ce-gallery[data-ce-columns="6"] .ce-column {width: 50%; padding: 0 5px 10px 5px;}
	}
/*Contentelemente*/
.image-embed-item {
    max-width: 100%;
    width: 100%;
    height: auto;
	object-fit: cover;
}
/*Lists*/
.ce-intext.ce-left ol, .ce-intext.ce-left ul {
padding-left: 1em;
}

@media screen and (max-width: 768px) {
  .col-12.col-lg-6.mb-3:has(ul) {
    margin-bottom: 0 !important; /* Entfernt mb-3 nur, wenn ein ul im div ist */
  }

  .col-12.col-lg-6 ul {
    margin-bottom: 0 !important; /* Entfernt das margin-bottom des ul */
  }
}

/*Table*/
table.contenttable {width:inherit;}
#pageid-75 figure.table,
#pageid-75 table.contenttable {margin-bottom:0.5rem;}

.table table.contenttable tbody tr {
    border-bottom-width: 0;
}
.ce-table th, .ce-table td {
     border-top: 0; 
}
table.table>:not(caption)>*>* {
    border-bottom-width: 0;
}
.ce-table.ce-table-striped th, .ce-table.ce-table-striped td {
     border-top: 1px solid #dadada; 
}
table.ce-table tr td p {margin-bottom: 0;}
.ce-table th, .ce-table td {padding: 0.25em 0.75em 0.25em 0;}

@media screen and (max-width: 768px) {
  table:not(.frame-container-accordion table):not(.frame-container-greybox table) {
    border: 0;
  }

  table:not(.frame-container-accordion table):not(.frame-container-greybox table) thead {
    border: none;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
  }

  table:not(.frame-container-accordion table):not(.frame-container-greybox table) tr {
    display: block;
  }

  table:not(.frame-container-accordion table):not(.frame-container-greybox table) td {
    display: block;
  }

  table:not(.frame-container-accordion table):not(.frame-container-greybox table) td::before {
    content: attr(data-label);
    float: left;
    font-weight: bold;
    text-transform: uppercase;
  }

  /* Neue Regel für Tabellen in .frame-type-textpic innerhalb .frame-container-accordion */
  .frame-container-accordion .frame-type-textpic table {
    max-width: 74%; 
  }
}
@media screen and (max-width: 576px) {
  .frame-container-accordion .frame-type-textpic table {
    max-width: 100%; 
  }
}



/*--------------------------------------------------------------
# Back to top button
--------------------------------------------------------------*/
.back-to-top {
	position: fixed;
	visibility: hidden;
	opacity: 0;
	right: 1rem;
	bottom: 1rem;
	z-index: 996;
	background: #d22e26;
	color: #fff;
	width: 40px;
	height: 40px;
	border-radius: 50px;
	transition: all 0.4s;
}
.back-to-top i {
	font-size: 1rem;
	line-height: 0;
}
.back-to-top:hover, .back-to-top.active:hover {
	background: #807E7F!important;
	color: #fff!important;
	text-decoration: none!important;
}
.back-to-top.active {
	visibility: visible;
	opacity: 1;
}

/*--------------------------------------------------------------
# Disable aos animation delay on mobile devices
--------------------------------------------------------------*/
@media screen and (max-width: 768px) {
  [data-aos-delay] {
    transition-delay: 0 !important;
  }
}

/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
.service-navbar {
	border-bottom: 1px solid #e5e5e5; /* Light grey border bottom */
	padding-top: .2rem;
	padding-bottom: .2rem;
}

ul.social-icons {list-style: none; padding-top: .5rem; padding-left: 0; padding-right: 1.5rem; margin-bottom: .2rem;}
ul.social-icons li {display: inline; padding-left: .6rem;}
ul.social-icons li a.icon {
	color: #17406c;
	font-size: 1.25rem;
    line-height: 1em;
}
ul.social-icons li a.icon span {
	display: none;
}
.navbar-light.service-navbar .navbar-nav .nav-link {
	font-family: 'Agenda-regular',Helvetica,Arial,Lucida,sans-serif;
	font-size: 0.875rem;
	text-transform: none;
	font-weight: 500;
	padding: 0 1rem!important;
}
.navbar-brand {
    padding-top: 0;
    padding-bottom: .3125rem;
}
@media screen and (max-width: 992px) {
  .navbar-brand {
		padding-top: .3125rem;
		padding-bottom: .3125rem;
	}	
}
/*--------------------------------------------------------------
# Navigation Menu
--------------------------------------------------------------*/
.default-navbar {
	border-bottom: 1px solid #e5e5e5; /* Light grey border bottom */
}
#nav {
    font-family: 'Agenda-bold-condensed',Helvetica,Arial,Lucida,sans-serif;
	color: #17406c;
}
.navbar.default-navbar {padding-top: 0; padding-bottom: 0;}

.navbar-light.default-navbar .navbar-nav .nav-link {
 	color:rgba(23,64,108,1);
 	font-weight: 600;
	font-size: 1.125rem;
	text-transform: uppercase;
	padding: 2rem 1rem;
}
.navbar-light.default-navbar .navbar-nav .nav-link:focus,
.navbar-light.default-navbar .navbar-nav .nav-link:hover {
	color:rgba(23,64,108,.7)
}
.navbar-light.default-navbar .navbar-nav .nav-link.active{
	color: #d22e26;
}
.navbar-light.default-navbar .navbar-nav li:last-child .nav-link {
    padding-right: 0 !important;
}
.navbar-light.default-navbar .dropdown-menu {
	padding: 0;
	border: 0;
  	border-top: 3px solid #17406c;
	border-radius: 0;
	-webkit-box-shadow: 0 2px 5px rgba(0,0,0,.1);
}
.navbar-light.default-navbar .dropdown-item {
    padding: .25rem 1rem;
    clear: both;
    font-weight: 600;
    color: #817e7f;
}
.navbar-light.default-navbar .dropdown-item:focus,
.navbar-light.default-navbar .dropdown-item:hover {
	 color:#d22e26;
	 background-color: transparent;
}
.navbar-light.default-navbar .dropdown-item.active, 
.navbar-light.default-navbar .dropdown-item:active {
    text-decoration: none;
    color: #d22e26;
    background-color: transparent;
}

/* Standardmäßig Pluszeichen für alle Submenüs */
.navbar-nav.sm-collapsible .sub-arrow::before {
  content: "+"!important;
}

/* Wenn das Submenü geöffnet ist, Minuszeichen anzeigen */
.navbar-nav.sm-collapsible li.open .sub-arrow::before {
  content: "-"!important;
}

@media screen and (min-width: 1200px) and (max-width: 1400px) {
	.navbar-light.default-navbar .navbar-nav .nav-link {
		padding: 2rem 0.5rem;
	}
}

/*--------------------------------------------------------------
# Language Menu
--------------------------------------------------------------*/
ul#language_menu {list-style: none; /*padding-top: .85rem;*/ padding-left: 1rem; margin-bottom: .2rem;}
ul#language_menu li {display: inline; padding-left: .8rem;}
ul#language_menu li.nav-item span.langTitle {display: none;}
ul#language_menu li.nav-item span.icon-markup img {width: 24px; height: 25px;}

/*--------------------------------------------------------------
# Sections General
--------------------------------------------------------------*/
section {
  padding: 0;
  overflow: hidden;
}
section.sectionbgimg a {color: #fff; font-weight: 700;}
section.sectionbgimg a:hover {color: #fff; text-decoration:underline;}
section.sectionbgimg a.btn.btn-primary:hover {text-decoration:none;}
section.sectionbgimg.text-light .bg-white-90 a, section.sectionbgimg.text-light .bg-white-90 a:hover,
section.sectionbgimg.text-light .bg-white-80 a, section.sectionbgimg.text-light .bg-white-80 a:hover {color: #17406c!important;}
section.sectionbgimg.text-light a.btn.btn-primary {color: #fff!important}
section.sectionbgimg.text-light h1 {
	font-size: 2.875rem;
	font-weight: 500;
	color: #fff;
	line-height: 1.2;
	text-shadow: 2px 2px 2px #000000;
}
section.sectionbgimg.text-light h2,
section.sectionbgimg.text-light h3,
section.sectionbgimg.text-light h4 {color: #fff; text-shadow: 2px 2px 2px #000000;}
section.sectionbgimg.text-light .frame-type-greybox h4 {color: #17406c; text-shadow: none;}
section.sectionbgimg.text-light .table {color: #fff;}
section.sectionbgimg.text-light .text-default {
    color: #333;
}
section.sectionbgimg.text-light .c-accordion-item.act .c-accordion-content,
section.sectionbgimg.text-light .c-accordion-item.act .c-accordion-content .table,
section.sectionbgimg.text-light .c-accordion-item .c-accordion-title:hover {
    color: #333;
}
section.sectionbgimg.text-light .c-accordion-item.act .c-accordion-title:hover {color: #fff;}
/*section.sectionbgimg.text-red h1 {
	font-size: 2.875rem;
	font-weight: 500;
	color: #d22e26;
	line-height: 1.2;
	
}*/

section.sectionbgimg .ce-gallery[data-ce-columns="1"] .ce-column {
    margin-bottom: 0;
}
@media only screen and (max-width: 1024px) {
	/*section.sectionbgimg .ce-gallery {
    	display: none;
	}*/
}
@media only screen and (max-width: 767px) {
/*	section.sectionbgimg.text-light h1 {font-size: 4.8vw;}*/
}
@media only screen and (max-width: 600px) {
/*	section.sectionbgimg.text-light h1 {font-size: 6vw;}*/
}
@media only screen and (max-width: 490px) {
/*	section.sectionbgimg.text-light h1 {font-size: 8vw;}
	section.sectionbgimg .frame-space-before-large {
		margin-top: 4vw;
	}*/
}

/*--------------------------------------------------------------
# Slider Start
--------------------------------------------------------------*/
#imageSlider.text-red h1 {
	font-size: 2.875rem;
	font-weight: 500;
	color: #fff;
	text-shadow: 2px 2px 2px #000000;
	line-height: 1.2;	
}
/*#imageSlider.text-red h1 {
	font-size: 2.875rem;
	font-weight: 500;
	color: #d22e26;
	text-shadow: 2px 2px 2px #000000;
	line-height: 1.2;	
}*/
  @media (max-width: 767.98px) { /* Für Handys */
    #imageSlider .carousel-item {
      height: 50vh; /* Höhe nur für Handys */
    }
	#imageSlider.text-red h1 {
      font-size: 9vw; /* Schriftgröße für Handys, anpassen nach Bedarf */
    }
  }

  @media (min-width: 768px) { /* Für Tablets und größere Bildschirme */
    #imageSlider .carousel-item {
      height: auto; /* Dynamische Höhe für größere Bildschirme */
    }
	#imageSlider.text-red h1 {
      font-size: 2.875rem; /* Ursprüngliche Schriftgröße für größere Bildschirme */
    }
  }

/*--------------------------------------------------------------
# Startseite
--------------------------------------------------------------*/
.frame-layout-1 header h4.ce-headline-center {padding-top: 0.7rem;}
/*--------------------------------------------------------------
# Container
--------------------------------------------------------------*/
.card.bg-darkgrey {color: #fff;}
.card.bg-darkgrey .frame-default:last-child  p,
.card.bg-darkgrey .frame-indent:last-child  p {margin-bottom: 0;}

/*--------------------------------------------------------------
# Produktslider
--------------------------------------------------------------*/
.product_slider .carousel-inner {margin-bottom: 7rem;}

@media only screen and (max-width: 767px) {
	.product_slider .carousel-inner {
		margin-bottom: 6rem;
	}
}
.product_slider .carousel-indicators {
	position:absolute;
	right:0;
	bottom:0;
	left:0;
	z-index:2;
	display:flex;
	/*justify-content:center;*/
	justify-content:left;
	padding:0;
	margin-right:0;
	margin-bottom:1rem;
	margin-left:0;
	list-style:none
}
.product_slider .carousel-indicators [data-bs-target] {
	box-sizing:content-box;
	flex:0 1 auto;
	width:70px;
	height:3px;
	padding:0;
	margin-right:3px;
	margin-left:3px;
	text-indent:-999px;
	cursor:pointer;
	background-color:#fff;
	background-clip:padding-box;
	border:0;
	border-top:10px solid transparent;
	border-bottom:10px solid transparent;
	opacity:.5;
	transition:opacity .6s ease
}
.product_slider .carousel-indicators button {
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;	
}
.product_slider .carousel-item img {
	object-fit: cover;
	object-position: center;
	/*height: 50vh;*/
	overflow: hidden;
}
.lightbox-carousel .carousel-control-next-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}
.lightbox-carousel .carousel-control-prev-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e");
}
.lightbox-carousel .lightbox-caption.bg-light {background-color: #f8f9fa !important;}

/*--------------------------------------------------------------
# Akkordeon
--------------------------------------------------------------*/
.c-accordion-item {width: 100%;}
.c-accordion-item:last-child {border-bottom: none;}
.c-accordion-title {
    /*display: block;*/
    position: relative;
    box-sizing: border-box;
    padding: .36em .72em;
    font-size: 1.1em;
    transition: all .3s;
	border: solid #ddd; 
  	border-width: 1px 1px 0 1px;
	width: 100%;
	display: flex;
}
.c-accordion-item:last-child .c-accordion-title{border: 1px solid #ddd;}
.c-accordion-title:hover {
    cursor: pointer;
	/*background-color: #EFEFEF;*/
	background-color: #DFDFDF;
}
.c-accordion-item.act .c-accordion-title:hover{background-color: transparent;}
.c-accordion-title::after {
	font-family:'Font Awesome 5 Free'!important;
    content:"\f0fe";
	padding-right: 0.5rem;
	margin-left: auto;
}
.c-accordion-item.act .c-accordion-title::after {
    transition: all .3s ease;
    content:"\f146";
}
.c-accordion-content {
    transition: max-height .5s linear;
    overflow: hidden;
    max-height: 0;
	/*background: #EFEFEF;*/
	background: #DFDFDF;
	border: solid #ddd; 
  	border-width: 0 1px 0 1px;	
}
.c-accordion-item.act .c-accordion-content {
    max-height: var(--max-height);
    margin-bottom: 1em;
	border-width: 0 1px 1px 1px;
	padding-bottom: 0.5rem;
}
.c-accordion-content div:first-child header {display: none;}
.c-accordion-item .c-accordion-content .frame {padding: .72em;}
.c-accordion-item .ce-intext.ce-left .ce-gallery,
.c-accordion-item .ce-intext.ce-right .ce-gallery {
    max-width: 50%;
}
@media screen and (max-width: 576px) {
	.c-accordion-item .ce-intext.ce-left .ce-gallery,
	.c-accordion-item .ce-intext.ce-right .ce-gallery {
    	display:none;
	}
}

/*--------------------------------------------------------------
# Icon List
--------------------------------------------------------------*/
.iconlist {
  margin-top: 2rem;
}

.iconlist .content .icon-box {
  display: flex;
  min-width: fit-content;
}

.iconlist .content .icon-box img {
    text-align: center;
    /*width: 80px;*/
    margin-right:24px;
}

.iconlist .content .icon-box h4 {margin-top: 0.5rem;}

/*--------------------------------------------------------------
# Timeline
--------------------------------------------------------------*/
ul.timeline {
  --col-gap: 2rem;
  --row-gap: 2rem;
  --line-w: 0.25rem;
  display: grid;
  grid-template-columns: 0.25rem 1fr;
  grid-auto-columns: max-content;
  column-gap: 2rem;
  list-style: none;
  width: min(60rem, 90%);
  margin-inline: auto;
  padding-left:0;
}
/* line */
ul.timeline::before {
  content: "";
  grid-column: 1;
  grid-row: 1 / span 20;
  background: rgb(225, 225, 225);
  border-radius: calc(0.25rem) / 2);
}

/* columns*/

/* row gaps */
ul.timeline li:not(:last-child) {
  margin-bottom: 2rem;
}

/* card */
ul.timeline li {
  grid-column: 2;
  --inlineP: 1.5rem;
  margin-inline: var(--inlineP);
  grid-row: span 2;
  display: grid;
  grid-template-rows: min-content min-content min-content;
}

/* date */
ul.timeline li .date {
  --dateH: 3rem;
  height: var(--dateH);
  margin-inline: calc(var(--inlineP) * -1);

  text-align: center;
  background-color: #17406c;

  color: white;
  font-size: 1.25rem;
  font-weight: 700;

  display: grid;
  place-content: center;
  position: relative;

  border-radius: calc(var(--dateH) / 2) 0 0 calc(var(--dateH) / 2);
}

/* date flap */
ul.timeline li .date::before {
  content: "";
  width: var(--inlineP);
  aspect-ratio: 1;
  background: var(--accent-color);
  background-image: linear-gradient(rgba(0, 0, 0, 0.2) 100%, transparent);
  position: absolute;
  top: 100%;

  clip-path: polygon(0 0, 100% 0, 0 100%);
  right: 0;
}

/* circle */
ul.timeline li .date::after {
  content: "";
  position: absolute;
  width: 1rem;
  height: 0.25rem;
  aspect-ratio: 1;
  background: #17406c;
  border: 0.3rem solid #17406c;
  /*border-radius: 50%;*/
  top: 50%;
  transform: translate(50%, -50%);
  right: calc(100% + var(--col-gap) + var(--line-w) / 2);
}

/* descr */
ul.timeline li .descr {
  background: #fff;
  position: relative;
  padding: 1.5rem;
}

ul.timeline li .descr {
  padding-block-end: 1.5rem;
  font-weight: 300;
}



@media (min-width: 40rem) {
  ul.timeline {
    grid-template-columns: 1fr var(--line-w) 1fr;
  }
  ul.timeline::before {
    grid-column: 2;
  }
  ul.timeline li:nth-child(odd) {
    grid-column: 1;
  }
  ul.timeline li:nth-child(even) {
    grid-column: 3;
  }

  /* start second card */
  ul.timeline li:nth-child(2) {
    grid-row: 2/4;
  }

  ul.timeline li:nth-child(odd) .date::before {
    clip-path: polygon(0 0, 100% 0, 100% 100%);
    left: 0;
  }

  ul.timeline li:nth-child(odd) .date::after {
    transform: translate(-50%, -50%);
    left: calc(100% + var(--col-gap) + var(--line-w) / 2);
  }
  ul.timeline li:nth-child(odd) .date {
    border-radius: 0 calc(var(--dateH) / 2) calc(var(--dateH) / 2) 0;
  }
}

/*--------------------------------------------------------------
# NEWS
--------------------------------------------------------------*/
.news .card {color: #333; border: 1px solid #e5e5e5;}
.news .card a {color: #333;}
.news .card a:hover {color: #333;}
.news .card a img.card-img-top:hover {
  filter: grayscale(100%);
  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  transition: all 0.4s;
}
.news .card .card-body {padding: 1rem 1rem 0 1rem;}
.news .card .card-text {font-weight: 300;}
.news .card .card-text p {margin-bottom: 0;}
.news .card .card-footer {
  padding: .5rem 1rem 1rem 1rem;
  background-color: rgba(255,255,255,0);
  border-top: 1px solid rgba(0,0,0,0);
}
.news .card .card-footer:last-child {border-radius: 0;}
.news .card .card-footer a {color: rgba(23,64,108,1); font-weight: 600;}
.news .card .card-footer a::before {
  content: "\f054"!important;
  font-family: 'Font Awesome 5 Free'!important;
  font-weight: 900!important;
  color: rgba(23,64,108,1);
  font-size: .8em;
  padding-right: .5em;
}
.news .card .card-footer a:hover,
.news .card .card-footer a:hover::before {color: rgba(23,64,108,.7);}
/*Detail*/
.news.news-single h1 {
	font-size: 1.8rem;
	font-weight: 700;
}
.news.news-single .lead {
	font-size: 1rem;
	font-weight: 700;
}
.news.news-single .news-related-content header {hyphens: auto;}
.news.news-single .news-related-files .card {color: #fff;}
.news.news-single .news-related-files .card .card-body {padding: 1rem 1rem;}
.news.news-single .news-related-files .btn.btn-primary {
    color: #fff;
    background-color: #1a8ed3;
    border-color: #1a8ed3;
    font-size: 1.2rem;
    font-weight: 500;
    font-style: italic;
}
.news.news-single .card.bg-grey {color: #fff;}
.news.news-single .card.bg-grey a {color: #fff;}
.news.news-single .card.bg-grey a:hover {color: #fff;}

/*Pagination*/
.page-link {
    color: rgba(23,64,108,1);
	border: 1px solid #e5e5e5;
}
.page-link:hover {
    color: rgba(23,64,108,1);
    background-color: rgba(128,126,127,.1);
    border-color: rgba(128,126,127,.4);
}
.page-item.active .page-link {
    color: #fff;
    background-color: rgba(23,64,108,1);
    border-color: rgba(23,64,108,1);
}

/*--------------------------------------------------------------
# POWERMAIL
--------------------------------------------------------------*/
.tx-powermail .powermail_fieldwrap_datenschutz label.control-label {display: none;}
#pageid-7 .tx-powermail .powermail_form_3 h1 {display: none;}

/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
#footer {
  line-height: 1.4em;
  background: #17406c;
  color: #fff;
  border-top: 4px solid #d22e26;
}
#footer a {color:rgba(255,255,255,1); font-weight: normal;}
#footer a:hover,
#footer a.active {color:rgba(255,255,255,.7);}
#footer ul {padding-left: 0;}         
#footer ul li {
  list-style: none;
  position: relative;
  padding-left: 14px;
  line-height: 1.4em;
}
#footer ul li::before {
  content: "›";
  position: absolute;
  left: 3px;
}
#footer h4 p{
    font-size: 1.25rem;
    font-family: 'Agenda-bold-condensed',Helvetica,Arial,Lucida,sans-serif;
    color: #ffffff;
    font-weight: 400;
    border-bottom: 2px solid #ffffff;
    padding-bottom: 15px;
    margin-bottom: 15px;
}
#footer p {
    font-size: 1rem;
    line-height: 1.4em;
    padding-bottom: 1.4em;
}

/* Isotope Transitions
------------------------------- */
.isotope,
.isotope .work {
  -webkit-transition-duration: 0.8s;
     -moz-transition-duration: 0.8s;
      -ms-transition-duration: 0.8s;
       -o-transition-duration: 0.8s;
          transition-duration: 0.8s;
		  width:
}
.isotope {
  -webkit-transition-property: height, width;
     -moz-transition-property: height, width;
      -ms-transition-property: height, width;
       -o-transition-property: height, width;
          transition-property: height, width;
}
.isotope .work {
  -webkit-transition-property: -webkit-transform, opacity;
     -moz-transition-property:    -moz-transform, opacity;
      -ms-transition-property:     -ms-transform, opacity;
       -o-transition-property:         top, left, opacity;
          transition-property:         transform, opacity;
}
.isotope-item {
  z-index: 2;
}
.isotope-hidden.isotope-item {
  pointer-events: none;
  z-index: 1;
}

/*--------------------------------------------------------------
# Configurator
--------------------------------------------------------------*/
body#pageid-225 header,
body#pageid-225 footer,
body#pageid-226 header,
body#pageid-226 footer,
body#pageid-227 header,
body#pageid-227 footer {display: none;}
body#pageid-225 a.back-to-top.active,
body#pageid-226 a.back-to-top.active,
body#pageid-227 a.back-to-top.active {visibility: hidden;}

/* felogin */
/* Container-Styling */
.frame-type-felogin_login {
    max-width: 450px;
    margin: 2rem auto;
    padding: 2rem;
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    font-family: sans-serif;
}

/* Überschrift & Text */
.frame-type-felogin_login h3 {  
    text-align: center;
	margin-bottom: 1.5rem;
	color: #17406c;
}

/* Den Einleitungstext im felogin-Formular stylen */
.frame-type-felogin_login p {
    font-size: 0.95em;
    line-height: 1.5;
    color: #555; /* Ein angenehmes Dunkelgrau */
    margin-bottom: 1.5rem;
    text-align: left; /* Oder 'center', falls gewünscht */
}

/* Formular-Elemente */
.frame-type-felogin_login fieldset {
    border: none;
    padding: 0;
}

.frame-type-felogin_login legend {
    display: none; /* Braucht man meistens optisch nicht */
}

.frame-type-felogin_login label {
    display: block;
    margin-bottom: 1rem;
    color: #666;
    font-size: 0.9em;
}

/* Inputs verschönern */
.frame-type-felogin_login input[type="text"],
.frame-type-felogin_login input[type="password"] {
    width: 100%;
    padding: 10px;
    margin-top: 5px;
    border: 1px solid #ddd;
    border-radius: 4px;
    box-sizing: border-box; /* Wichtig für Breite */
}

/* Button */
/* Der reguläre Zustand des Login-Buttons */
/* Der Button mit voller Breite und Rundungen */
.frame-type-felogin_login input[type="submit"] {
    /* Deine Farben & Font */
    color: #fff;
	font-size: 1.1em;
    background-color: rgba(210, 46, 38, 1);
    border: 1px solid rgba(210, 46, 38, 1);
    font-family: 'Agenda-bold-condensed', Helvetica, Arial, Lucida, sans-serif;
    
    /* Form & Größe */
    width: 100%;           /* Volle Breite */
    display: block;        /* Als Block-Element */
    padding: 12px 20px;    /* Etwas mehr "Futter" */
    border-radius: 8px;    /* Abgerundete Ecken (Wert nach Wunsch anpassen) */
    
    /* Interaktion */
    cursor: pointer;
    transition: all 0.3s ease;
    margin: 1rem 0;        /* Abstand nach oben/unten */
}

/* Hover-Effekt */
.frame-type-felogin_login input[type="submit"]:hover {
    color: #fff;
    background-color: rgba(210, 46, 38, 0.8);
    border-color: rgba(210, 46, 38, 0.8);
}

/* Passwort vergessen Link */
.frame-type-felogin_login a {
    display: block;
    text-align: center;
    margin-top: 1rem;
    font-size: 0.95em;
    color: #817e7f;
    text-decoration: none;
}
.frame-type-felogin_login a:hover {
	color: #17406c;
}

/* Container sorgt für die Ausrichtung nach rechts */
.logout-wrapper {
    width: 100%;
    display: flex;
    justify-content: flex-end; /* Schiebt den Inhalt nach rechts */
    padding: 1rem 1rem 0 0 ;
}

/* Button-Styling (Exakt wie dein Anmelden-Button) */
.logout-button-styled {
    /* Deine Farben & Font */
    color: #fff;
    background-color: rgba(210, 46, 38, 1);
    border: 1px solid rgba(210, 46, 38, 1);
    font-family: 'Agenda-bold-condensed', Helvetica, Arial, Lucida, sans-serif;
    font-size: 1.1em;
	font-weight: 400;
    
    /* Form & Größe */
    padding: 6px 15px;
    border-radius: 8px;    /* Abgerundete Ecken */
    
    /* Interaktion */
    cursor: pointer;
    transition: all 0.3s ease;
    display: inline-block;
}

/* Hover-Effekt */
.logout-button-styled:hover {
    color: #fff;
    background-color: rgba(210, 46, 38, 0.8);
    border-color: rgba(210, 46, 38, 0.8);
}

.logout-button-styled .fas {font-size: 0.85em;}

.back-button {
	color: #fff;
    background-color: #6C757D;
    border: 1px solid #6C757D;
    font-family: 'Agenda-bold-condensed', Helvetica, Arial, Lucida, sans-serif;
    font-size: 1.1em;
	font-weight: 400;
    
    /* Form & Größe */
	margin-right: 0.5em;
    padding: 6px 15px;
    border-radius: 8px;
    
    /* Interaktion */
    cursor: pointer;
    transition: all 0.3s ease;
    display: inline-block;	
}

.back-button:hover {
    color: #fff;
    background-color: #1F2937;
    border-color: #1F2937;
}

.back-button .fas {font-size: 0.85em;}

/* femanager */
/* Container für die Registrierung */
.frame-type-femanager_registration {
    max-width: 550px;
    margin: 2rem auto;
    padding: 2.5rem;
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.1);
    font-family: sans-serif;
}

/* Wenn innerhalb von .tx-femanager eine Erfolgsmeldung existiert... */
.tx-femanager:has(.message-0) .femanager_new {
    display: none !important;
}

/* Status Message */
.frame-type-femanager_registration .femanager_status {
	margin-bottom: 1.5em;
}

/* Die "Legende" als Hauptüberschrift stylen */
.frame-type-femanager_registration legend {
    display: block;
    width: 100%;
    border: none;
    text-align: center;
	font-size: 1.375rem;
	font-family: 'Myriad Pro Regular',Helvetica,Arial,Lucida,sans-serif;
	color: #17406c;
    margin-bottom: 2rem;
    padding: 0;	
}

/* Fieldset bereinigen */
.frame-type-femanager_registration fieldset {
    border: none;
    padding: 0;
    margin: 0;
}

/* Bootstrap-Spalten für vertikales Layout aufheben */
.frame-type-femanager_registration .form-group {
    margin-bottom: 0.75em;
    display: flex;
    flex-direction: column; /* Label über Input */
}

.frame-type-femanager_registration .has-error .alert.bg-danger {
	color: #fff;
	padding: 0.5rem 1rem;
	width: 100%;
}

.frame-type-femanager_registration .control-label,
.frame-type-femanager_registration .col-sm-2,
.frame-type-femanager_registration .col-sm-10 {
    width: 100% !important;
    float: none !important;
    padding: 0 !important;
    margin: 0 !important;
    text-align: left !important;
}

/* Label-Design */
.frame-type-femanager_registration label {
    color: #666;
  	font-size: 0.9em;
}

/* Pflichtfeld-Stern in Stucke-Rot */
.frame-type-femanager_registration label span {
    color: rgba(210, 46, 38, 1);
}

/* Input Felder */
.frame-type-femanager_registration .form-control {
    width: 100%;
    height: 45px;
    padding: 10px 15px;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-sizing: border-box;
    font-size: 1rem;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.frame-type-femanager_registration .form-control:focus {
    border-color: rgba(210, 46, 38, 1);
    outline: none;
    box-shadow: 0 0 0 3px rgba(210, 46, 38, 0.1);
}

/* Captcha Bereich: Container für Bild und Text */
.femanager_captcha .col-sm-10 {
    display: flex;
    flex-wrap: wrap; /* Erlaubt das Umbrechen auf kleinen Bildschirmen */
    align-items: center; /* Zentriert Bild und Text vertikal zueinander */
    gap: 15px; /* Abstand zwischen Bild und Text */
}

/* Das Input-Feld soll weiterhin die volle Breite oben drüber einnehmen */
.femanager_captcha input.form-control {
    width: 100%;
    margin-bottom: 10px;
    flex-basis: 100%; /* Zwingt das Input-Feld in eine eigene Zeile */
}

/* Das Captcha-Bild */
.tx-srfreecap-image {
    display: block;
    border: 1px solid #ddd;
    border-radius: 4px;
}
img.tx-srfreecap-image {
  margin-left: 0;
  margin-right: 0;
}

/* Der "Nicht lesbar"-Text rechts daneben */
.tx-srfreecap-cant-read {
    flex: 1; /* Nimmt den restlichen Platz ein */
    font-size: 0.95em;
    line-height: 1.3;
    margin: 0; /* Entfernt Standard-Abstände */
}

/* Styling für den Link im Text */
.tx-srfreecap-cant-read a {
    color: #817e7f!important;
	cursor: pointer;
}

.tx-srfreecap-cant-read a:hover {
    color: #17406c!important;
}

/* Der Registrierungs-Button */
.frame-type-femanager_registration input[type="submit"] {
    color: #fff !important;
    background-color: rgba(210, 46, 38, 1) !important;
    border: 1px solid rgba(210, 46, 38, 1) !important;
    font-family: 'Agenda-bold-condensed', Helvetica, Arial, Lucida, sans-serif !important;
    font-size: 1.25em;
    width: 100%;
    padding: 14px;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
    margin-top: 1.5rem;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.frame-type-femanager_registration input[type="submit"]:hover {
    background-color: rgba(210, 46, 38, 0.8) !important;
    border-color: rgba(210, 46, 38, 0.8) !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.15);
}

/* Zentrierung des Submit-Containers (wegen Bootstrap Offsets) */
.femanager_submit.form-group {
    align-items: center;
}