/*--------------------------------------------------------------------
	Author: {ths} Thomas Schostok Design
	Version: 1.0
---------------------------------------------------------------------*/
@font-face {
	font-family:'CAsaygon';
	src: url('../fonts/CASaygonText-Regular.woff2') format('woff2');
	font-weight: normal; font-style: normal; font-display:swap;
}
@font-face {
	font-family:'CAsaygon';
	src: url('../fonts/CASaygonText-Bold.woff2') format('woff2');
	font-weight: bold; font-style: normal; font-display:swap;
}
@font-face {
	font-family:'CAsaygon';
	src: url('../fonts/CASaygonText-Italic.woff2') format('woff2');
	font-weight: normal; font-style: italic; font-display:swap;
}
@font-face {
	font-family:'CAsaygon';
	src: url('../fonts/CASaygonText-BoldItalic.woff2') format('woff2');
	font-weight: bold; font-style: italic; font-display:swap;
}
/* Swatch Variables */
:root{
	--blau:#198BD1;
	--bs-accordion-border-color: #3F3F3F!important;
    --bs-accordion-border-width: 2px!important;
	--bs-body-color: #3F3F3F!important;
	--swatch-var-default: #3F3F3F;
	--CDcolor: #198BD1; /* corporate color */
	--headline: #3F3F3F; /* headline corporate color */
	--bgcorporate: 198BD1;
	--bs-link-color:#198BD1!important;
	--bs-body-font-size: 1.0625rem!important;
	--bs-nav-link-font-size: 16px!important;
}
.bg-corporate {
    --bs-bg-opacity: 1;
	background: rgb(135,186,215);
	background: linear-gradient(45deg, rgb(154, 191, 213) 0%, rgb(109, 168, 202) 100%);
}
body {
	margin:0;
	padding:0;
    background:#ffffff;
    overflow-x:hidden;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
	font-family:"CAsaygon";
}
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
	font-family:"CAsaygon";
		overflow-wrap: break-word;
		word-wrap: break-word;
		-webkit-hyphens: auto;
		-ms-hyphens: auto;
		hyphens: auto;
		color: var(--headline);
}
h1 {
	font-weight: bold;
}
p, label, .btn, a {
	font-family:"CAsaygon";
		overflow-wrap: break-word;
		word-wrap: break-word;
		-webkit-hyphens: auto;
		-ms-hyphens: auto;
		hyphens: auto;
}
.text a {
	color: var(--CDcolor);
	border-bottom: 1px solid var(--CDcolor);
	text-decoration: none;
	transition: all .2s ease-out;
}
.text a:hover {
	color: var(--swatch-var-default);
	border-bottom: 1px solid var(--swatch-var-default);
}
.text p:last-child {
	margin-bottom: 0;
}
.text-bold {
	font-weight: bold;
}
/* fixes */
/* Prevent ugly blue glow on chrome and safari */
button{
	outline: none!important;
}
.sticky-nav.sticky{
	width:100%;
	position:fixed;
	top:0;
	z-index:1001;
	box-shadow: 0 2px 16px rgb(0 0 0 / 21%);
	transition: all .2s ease-out;
}
.navbar-toggler:focus,.btn-close:focus, button:focus {
    text-decoration: none;
    outline: 0;
    box-shadow: none;
}
.text-partners {
	font-size: 1rem;
	line-height: 1.2;
}
.logo-partners {
	height: 150px;
}
.logo-p-t img{
	max-height:120px;
	height:auto;
	width:auto;
	max-width:100%;
}
.filter-gray {
	filter: grayscale(1);
	opacity: 0.5;
	cursor: pointer;
	transition: all .2s ease-out;
}
.filter-gray:hover {
	filter: none;
	opacity: 1;
}
.trennlinie {
	height:5px;
	border-top: 3px solid #6f6f6f;
}
/* footer sticky bottom */
html, body {
	height: 100%;
}  
 body {
	display: flex;
	flex-direction: column;
}
main {
	flex: 1; 
  }
.vtrennlinie {
	width:5px;
	height:200px;
	border-left: 5px solid var(--swatch-var-default);
}
.vtrennlinieXS {
	width:5px;
	height:100px;
	border-left: 5px solid var(--swatch-var-default);
}
.htrennlinie {
	width:50%;
	height:5px;
	border-top: 5px solid var(--swatch-var-default);
}
footer {
	margin-top: auto;
	font-size: 0.9375rem;
  }
  .footer-logo img {
	max-width:170px;
  }
.footer-bar {
	border-left: 5px solid var(--swatch-var-default);
} 
@media (min-width:768px) { /* ab MD */
	.footer-bar {
		position:absolute;
		top:0;
	} 
	.linkssm {
		bottom:0;
		position:absolute;
	} 
  }

/* end footer sticky bottom */

/* navigation */
.navbar {
	background:white!important;
	--bs-navbar-color: var(--swatch-var-default);
	--bs-navbar-hover-color: var(--CDcolor);
	--bs-navbar-active-color: var(--CDcolor);
	box-shadow: 0 2px 12px rgb(0 0 0 / 21%);
	text-transform: uppercase;
	z-index: 1000;
}
.dropdown-menu {
	--bs-dropdown-link-color: var(--bs-navbar-color);
	--bs-dropdown-link-hover-color:var(--bs-navbar-hover-color);
    --bs-dropdown-link-hover-bg: #ffffff;
    --bs-dropdown-link-active-color: var(--CDcolor);
    --bs-dropdown-link-active-bg: #ffffff;
	background-color: var(--bs-dropdown-bg);
    border: 2px solid var(--bs-navbar-color);
    border-radius: 0;
	padding-top: 15px;
	padding-bottom:15px;
}
.wordwrap {
	overflow-wrap: break-word;
	word-wrap: break-word;
	-webkit-hyphens: auto;
	-ms-hyphens: auto;
	hyphens: auto;
}
.w250 {
	min-width: 250px;
}

footer a {
	color:var(--swatch-var-default);
	transition: all .2s ease-out;
	text-decoration: none; 
	font-weight: bold;
}
footer a:hover {
	color:white;
}
.activeNav{
	color: var(--bs-navbar-active-color)!important;
}
.navbar-brand img { width:auto; height:58px; }
@media (min-width:768px) { /* ab MD */
	.navbar-brand img { height:84px;}
  }
  .dropdown-toggle::after {
     margin-left: 0;

    border-top: none;
    border-right: none;
    border-left: none;
} 
/* end navigation */


/* mobile navigation */
.navbar-toggler {
	border:none;
	padding: 0;
}
.offcanvas.offcanvas-end {
    border:none;
}
.offcanvas-backdrop {
	background-color: var(--headline)!important;
}
/* offcanvas nav */
.sidebaritem {
	color:var(--swatch-var-default);
	font-size:1rem;
	border-color: var(--swatch-var-default)!important;
    border-style: solid;
    border-width: 0px 0px 3px 0px;
    padding-bottom: 10px;
    padding-top: 12px;
	letter-spacing: 0.0120rem;
	overflow-wrap: break-word;
    word-wrap: break-word;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;
	text-transform: uppercase;
	font-weight: bold;
}
a.sidebaritemlink {
		color:var(--bs-navbar-color)!important;
		text-decoration: none;
}
a.sidebaritemlink:hover {
	color:var(--CDcolor)!important;
		text-decoration: none;
		transition: all .2s ease-out;
}
a.sideactive, a.sidesubactive {
	color:var(--CDcolor)!important;
		text-decoration: none;
}
/* end offcanvsas navigation */


/* accordian styles overwrite */
.accordion {
	--bs-accordion-border-color: black;
    --bs-accordion-border-width: 0px!important;
	--bs-accordion-active-bg: #ffffff;
	--bs-accordion-active-color: black;
	--bs-accordion-btn-focus-border-color:  black;
    --bs-accordion-btn-focus-box-shadow: 0 0 0 0px  black;
	--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' style='fill-rule:evenodd%3Bclip-rule:evenodd%3Bstroke-linejoin:round%3Bstroke-miterlimit:2' viewBox='0 0 125 125'%3E%3Cpath d='M24.574 20.824 62.048 58.25l37.328-37.417L122 43.436 62.048 103.62 1.944 43.436l22.63-22.612Zm-.004 6.556L8.496 43.436l53.552 53.703 53.405-53.703L99.38 27.37 62.048 64.773 24.574 27.37l-.004.01Z'/%3E%3C/svg%3E");
	--bs-accordion-btn-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' style='fill-rule:evenodd%3Bclip-rule:evenodd%3Bstroke-linejoin:round%3Bstroke-miterlimit:2' viewBox='0 0 125 125'%3E%3Cpath d='M24.574 20.824 62.048 58.25l37.328-37.417L122 43.436 62.048 103.62 1.944 43.436l22.63-22.612Zm-.004 6.556L8.496 43.436l53.552 53.703 53.405-53.703L99.38 27.37 62.048 64.773 24.574 27.37l-.004.01Z'/%3E%3C/svg%3E");
}
.accordion-item:last-of-type, .accordion-item:last-of-type .accordion-button.collapsed  {
    border-bottom-right-radius: 0!important;
    border-bottom-left-radius: 0!important;
}
.accordion-item:first-of-type, .accordion-item:first-of-type .accordion-button  {
    border-top-left-radius: 0!important;
    border-top-right-radius: 0!important;
}
.accordion-item {
	border-top:#6f6f6f 1px solid!important; 
	padding-top: 8px;
	padding-bottom:8px;
}
.accordion-button {
	font-size: 17px!important;
	padding-left: 7px!important;
	padding-right: 7px!important;
	padding-top: 6px!important;
	padding-bottom: 2px!important;
}
.accordion-button::before {
    width: 30px;
    height: 30px;
    background-size: 30px;
}
.accordion-button::before {
    flex-shrink: 0;
    width: var(--bs-accordion-btn-icon-width);
    height: var(--bs-accordion-btn-icon-width);
    /* margin-right: auto; */
    content: "";
    background-image: var(--bs-accordion-btn-icon);
    background-repeat: no-repeat;
    background-size: var(--bs-accordion-btn-icon-width);
    transition: var(--bs-accordion-btn-icon-transition);
}
.accordion-button:not(.collapsed)::before {
    background-image: var(--bs-accordion-btn-active-icon);
    transform: var(--bs-accordion-btn-icon-transform);
}
.accordion-button::after {
 display:none;
}
.scrollToTop {
	border-radius:50%;
}
.scrollToTop svg {
	vertical-align: top;
}
.ths_button {
	border-bottom-width: 1px;
	border: 1px solid black;
	padding: 8px 12px 6px;
	display: inline-block;
	transition: all .2s ease-out;
}
.ths_button a{
	text-decoration: none;
	color: black;
}
.ths_button:hover {
	background-color: black;
}
.ths_button:hover a {
	color: white;
}
.maxigmH {
	max-height: 50vh;
}
/* ↓ --------- THS-B5-Carousel-Slider mit eigener BU - see jquery */
/*	THS bootstrap 5 carousel addon
	center img, maxheight img, caption below */
.THScarousel5 {
	max-height: 50vh; /* bildhöhe begrenzen */
	max-width: 100%!important;
	width: auto!important;
	margin-right: auto!important; /* center img */
	margin-left: auto!important; /* center img */
	display: block!important; /* center img */
}
.carousel-caption-center {
	/* fix BU links unter dem Bild */
	transform: none;
}
.THS_B5_SLIDER {
	/*  maximale breite insgesamt? dann hier: 
	width:300px; */
}
.THS_B5_SLIDER_CAPTION{
}
.carousel-caption {  /* stdn captions ausschalten */
	display: none !important;
}
.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44' version='1.1' style='fill-rule:evenodd%3Bclip-rule:evenodd%3Bstroke-linejoin:round%3Bstroke-miterlimit:2%3B'%3E%3Cg transform='matrix(-1 0 0 1 27.301 0)'%3E%3Cpath id='arrow' d='M5.431 41.747L22.331 24.847L22.356 24.872L25.891 21.336L25.867 21.312L25.891 21.288L22.356 17.752L22.331 17.777L5.965 1.414L2.43 4.95L18.794 21.314L1.9 38.212L5.435 41.747M5.435 43.161L0.482 38.212L17.382 21.312L1.016 4.95L5.965 0L22.329 16.364L22.354 16.339L27.3 21.29L27.276 21.314L27.3 21.338L22.351 26.288L22.326 26.263L5.435 43.161Z' style='fill-rule:nonzero%3B'/%3E%3C/g%3E%3C/svg%3E")
}
.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44' style='fill-rule:evenodd%3Bclip-rule:evenodd%3Bstroke-linejoin:round%3Bstroke-miterlimit:2%3B'%3E%3Cg transform='matrix(1 0 0 1 -0.481 0)'%3E%3Cpath id='arrow' d='M5.431 41.747L22.331 24.847L22.356 24.872L25.891 21.336L25.867 21.312L25.891 21.288L22.356 17.752L22.331 17.777L5.965 1.414L2.43 4.95L18.794 21.314L1.9 38.212L5.435 41.747M5.435 43.161L0.482 38.212L17.382 21.312L1.016 4.95L5.965 0L22.329 16.364L22.354 16.339L27.3 21.29L27.276 21.314L27.3 21.338L22.351 26.288L22.326 26.263L5.435 43.161Z' style='fill-rule:nonzero%3B'/%3E%3C/g%3E%3C/svg%3E")
}
.carousel-control-next-icon, .carousel-control-prev-icon {
	width: 27px; height: 44px; transition: all .2s ease-out;
}
.carousel-control-next, .carousel-control-prev  {
	opacity: 1;
}
.carousel-control-next:hover, .carousel-control-prev:hover  {
	opacity: .5;
}
/*	end THS bootstrap 5 carousel addon -------------------- */
.nolinks a, .nolinks p a, .nolinksblack a, .nolinksblack p a{
	text-decoration: none!important;
	color: black!important;
	border: 0!important;
}
.nolinks a:hover {
	text-decoration: none!important;
	color: var(--CDcolor)!important;
	border: 0!important;
}
.imgfix {
	padding-top: 9px;
}
.min-vh-80 {
	min-height: 30vh;
}
@media (min-width:768px) { /* ab MD */
	.min-vh-80 {
		min-height: 60vh;
	}
}
.min-vh-30 {
	min-height: 30vh;
}
@media (min-width:768px) { /* ab MD */
	.min-vh-30 {
		min-height: 30vh;
	}
}
.herotrenner {
	border-top: #ffffff solid 8px;
	height:8px;
	width:110px;
}
.herologo {
	height:120px;
}
.heroarrow {
	width:60px;
}

.heroheadline {
	font-size: 2.0rem;
	line-height: .9;
	letter-spacing: 0.1875rem;
}
@media (min-width:450px) { 
	.heroheadline {
		font-size: 3rem;
		line-height: .9;
	}
}
@media (min-width:768px) { /* ab MD */
	.herologo {
		height:150px;
	}
	.heroheadline {
		font-size: 3.6rem;
		line-height: .9;
		letter-spacing: 0.1875rem;
	}
}
.heroheadline p{
	margin-bottom: 0;
}
/* parallax */
/* Background Styles */

.bg-center,.bg-l-edge,.bg-r-edge,.bg-t-edge,.bg-b-edge,.bg-tl-edge,.bg-bl-edge,.bg-tr-edge,.bg-br-edge,.bg-repeat{
	-webkit-background-size: auto!important;
	-moz-background-size: auto!important;
	-o-background-size: auto!important;
	background-size: auto!important;
}

.parallax, .hero {
	position: relative;
}
.hero::before {
	content: ' ';
	display: block;
	position: absolute;
	height: 100%; width: 100%;
    top: 0; bottom: 0; left: 0; right: 0;
	background-attachment: scroll;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
}
@media only screen and (min-width: 64.063em) {
	.hero::before {
		/* includes safari fix for background scroll */
		background-attachment: fixed;
		background-size: cover;
		-moz-background-size: cover;
		-webkit-background-size: cover;
	}
}

.parallax::before {
	content: ' ';
	display: block;
	position: absolute;
	height: 100%; width: 100%;
    top: 0; bottom: 0; left: 0; right: 0;
	opacity: 0.6;
	background-attachment: scroll;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
}
@media only screen and (min-width: 64.063em) {
	.parallax::before {
		background-attachment: fixed;
		background-size: cover;
		-moz-background-size: cover;
		-webkit-background-size: cover;
	}
}
@media (max-width:768px) { /* ab MD */
.pb-10 {
	padding-bottom: 100px;
}
}
  .bgPXimg-content, .hero-content {
	position: relative;
  }
.bg-edge{
	background-position: bottom right!important;
	background-repeat: no-repeat;
}
.linkbutton {
	margin-top: 15px;
	border-color: var(--swatch-var-default)!important;
    border-width: 4px 4px 4px 4px;
    padding-top: 10px;
    padding-bottom: 10px;
	padding-left: 15px;
	padding-right: 15px;
    border-style: solid;  
    border-radius: 25px;
    font-weight: bold;
	text-decoration: none;
	text-transform: uppercase;
	transition: all .2s ease-out;
    background-color: transparent;
}
.linkbutton a{
	transition: all .2s ease-out;
    color: var(--swatch-var-default)!important;
	text-decoration: none;
}
.linkbutton a:hover, .linkbutton:hover a, .linkbutton:hover{
    color: var(--CDcolor)!important;
    border-color: var(--CDcolor)!important;
}
.scroll-to-top-btn-icon{
	stroke: #198BD1;
	stroke-width: 3px;
}
.btn-d, .btn-d:hover, .btn-d:focus {
	background: none;
	border: 2px solid #198BD1;
}
/* ths ----------------------------------------- styles */
.editme {
	z-index:10000;
	color: #259503;
	background-color: rgba(246, 253, 53, 0.71);
	position: fixed;
	top: 0;
	left: 0;
	padding-top:7px;
	padding-left:7px;
	padding-right:7px;
	padding-bottom: 2px;
	font-weight: bold;
	font-size: 18px;
}
.editme:hover {
	background-color: rgba(53, 254, 249, 0.91);
}
.editme a {
	text-decoration: none;
	font-weight: bold;
}