/*--------------------------------------------------------------------
	Author: {ths} Thomas Schostok Design
	Version: 1.0
---------------------------------------------------------------------*/
@font-face {
	font-family:'Inter';
	src: url('../fonts/Inter-Regular.woff2') format('woff2');
	font-weight: normal; font-style: normal; font-display:swap;
}
@font-face {
	font-family:'Inter';
	src: url('../fonts/Inter-SemiBold.woff2') format('woff2');
	font-weight: 500; font-style: normal; font-display:swap;
}
@font-face {
	font-family:'Inter';
	src: url('../fonts/Inter-Bold.woff2') format('woff2');
	font-weight: bold; font-style: normal; font-display:swap;
}
@font-face {
	font-family:'Inter';
	src: url('../fonts/Inter-Italic.woff2') format('woff2');
	font-weight: normal; font-style: italic; font-display:swap;
}
@font-face {
	font-family:'Inter';
	src: url('../fonts/Inter-BoldItalic.woff2') format('woff2');
	font-weight: bold; font-style: italic; font-display:swap;
}
@font-face {
	font-family:'Inter';
	src: url('../fonts/Inter-Light.woff2') format('woff2');
	font-weight: 300; font-style: normal; font-display:swap;
}
/* Swatch Variables */
:root{
	--std:#000000;	
	--bs-accordion-border-color: #000000!important;
    --bs-accordion-border-width: 2px!important;
	--swatch-var-default: 000000;
	--CDcolor: #315D35;	 /* corporate color  #315D35;*/
}
.bloc {
	padding-left:20px; padding-right:20px;
}
.gp_hf {
	padding-left:30px; padding-right:30px;
}
@media (max-width: 767px) { /* bis MD */
	.bloc {
		padding-left:0px; padding-right:0px;
	}
	.gp_hf {
		padding-left:11px; padding-right:11px;
	}
}

.bg-p5 {
	background-color:#315D35;
}
body{
	margin:0;
	padding:0;
    background:#ffffff;
    overflow-x:hidden;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
	font-family:"Inter";
	color:var(--std)!important;
}
h1, h2, h3, h4, h5, h6, p, label, .btn, a {
	font-family:"Inter";
}
h1, h2 {
	font-size: 26px;
	font-weight: normal;
}
h3, h4, h5, h6 {
	font-size: 20px;
}

/* fixes */
/* Prevent ugly blue glow on chrome and safari */
button{
	outline: none!important;
}
.btn {
	text-decoration: none;
    outline: 0!important;
    box-shadow: none!important;
	border:none!important;
}
.navbar-toggler:focus,.btn-close:focus, .btn:focus, button:focus {
    text-decoration: none;
    outline: 0!important;
    box-shadow: none!important;
	border:none!important;
}
/* footer sticky bottom */
html, body {
	height: 100%;
}  
 body {
	display: flex;
	flex-direction: column;
}
main {
	flex: 1; 
  }
footer {
	margin-top: auto; 
  }
/* end footer sticky bottom */

/* navigation */
.navbar, .p5navbar {
	background:white;
	--bs-navbar-color: var(--std);
	--bs-navbar-hover-color: #315D35;
	--bs-navbar-active-color: rgb(129, 173, 228);
}
.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: #ebebeb;
    --bs-dropdown-link-active-color: var(--CDcolor);
    --bs-dropdown-link-active-bg: #ffffff;
	background-color: var(--bs-dropdown-bg);
    border: 1px solid var(--bs-navbar-color);
    border-radius: 0;
	width:100%; /* fix */
	min-width: 200px;
}
.dropdown-item {
	white-space: normal; /* fix */
}
footer a, .text-footer a {
	color:var(--std);
	text-decoration: none;
	transition: all .2s ease-out;
}
footer a:hover, v.text-footer a:hover {
	color:var(--CDcolor);
}
.activeNav{
	color: var(--bs-navbar-active-color)!important;
}
.navbar-brand img { width:auto; height:60px; }
@media (min-width:768px) { /* ab MD */
	.navbar-brand img { height:90px;padding-left: 3px;}
  }
/* end navigation */

/* p5nav */
.p5menu {
	position: absolute;
	margin-top: 10px;
	right:0;
	width: auto;
	height: auto;
	z-index: 10000;
	background-color: #ffffff;
}

/* mobile navigation */
.navbar-toggler {
	border:none;
	padding: 0;
}

.offcanvas {
	border-left: #f1f1f1 solid 1px!important;
		--bs-offcanvas-width: 250px!important;
}
.offcanvas.offcanvas-end {
    border:none;
}
.offcanvas-backdrop {
	background-color: rgba(255, 255, 255, 1);
}
/* offcanvas nav */
.sidebaritem {
	color:var(--swatch-var-default);
	font-size:18px;
    padding-bottom: 0px;
    padding-top: 0px;
	letter-spacing: .4px;
	overflow-wrap: break-word;
    word-wrap: break-word;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;
	text-align: end;
}
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: var(--std);
    --bs-accordion-border-width: 1px!important;
	--bs-accordion-active-bg: #ffffff;
	--bs-accordion-active-color: var(--std);
	--bs-accordion-btn-focus-border-color:  var(--std);
    --bs-accordion-btn-focus-box-shadow: 0 0 0 1px  var(--std);
	--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-button {
	font-size: 17px!important;
	padding-left: 7px!important;
	padding-right: 7px!important;
	padding-top: 6px!important;
	padding-bottom: 2px!important;
}
.accordion-button::after {
    width: 30px;
    height: 30px;
    background-size: 30px;
}
.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;
	background-color: white;
}
.ths_button a{
	text-decoration: none;
	color: black;
}
.ths_button:hover {
	color: white;
	background-color: black;
}
.ths_button:hover a {
	color: white;
}
.pfeil {
	height: 50px;
	transition: opacity .1s ease-in-out 0s;
}
.pfeil2 {
	height: 24px;
	transition: opacity .1s ease-in-out 0s;
}
.pfeil:hover, .pfeil2:hover {
	transition: opacity .2s ease-in-out 0s;
	opacity: 0.2;
}
.maxigmH {
	max-height: 900px;
}
/* ↓ min-heights in px */
.mh-600 { min-height: 600px; }
.mh-400 { min-height: 400px; }
.mh-300 { min-height: 300px; }
.mh-200 { min-height: 200px; }

@media (max-width: 1200px) { /* bis MD */
	.mh-600 { min-height: 400px; }
	.mh-400, .mh-300 { min-height: 250px; }
}
@media (max-width: 900px) { /* bis MD */
	.mh-600, .mh-400, .mh-300 { min-height: 300px; }
}
@media (max-width: 540px) { /* bis MD */

	.mh-600, .mh-400, .mh-300 { min-height: 200px; }
}
@media (max-width: 540px) { /* bis MD */
	.min180 {
		min-width: 180px;
	}
}
.masthead {
	background-size:cover;
	text-shadow: 1px 1px 2px rgba(0,0,0,0.85), -1px -1px 2px rgba(0,0,0,0.6);
	background-position: center;
}
.medium {
	font-weight:500;
}
.masthead_hover {
	text-decoration: none;
	opacity:1;
	transition: all .2s ease-out;
}
.masthead_hover:hover{
	opacity:.8;
}
.projektlabel {
	font-weight: 400;
}
.projektinfo {
	font-weight: bold;
	overflow-wrap: break-word;
	word-wrap: break-word;
	-webkit-hyphens: auto;
	-ms-hyphens: auto;
	hyphens: auto;
}
.flex-container {
	display: -webkit-flex;
	display: -moz-flex;
	display: flex;
	-webkit-flex-flow: row wrap;
	-moz-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-align-items: flex-start;
	align-items:flex-start;
}
	.flex-item {
		-webkit-flex: none;
		-moz-flex: none;
		flex: none;
		align-self: auto;
	}

.item-1 { flex-basis: 150px; }
.item-2 { flex-basis: 300px;}
@media (max-width: 540px) { /* bis MD */
	.item-1 { flex-basis: 100%;}
	.item-2 { flex-basis: 100%;}
}

.projekttitlethumb {
	line-height: 1.1;
}
/* ↓ --------- 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; */
}
.carousel-control-next, .carousel-control-prev { width:8%;}

.THS_B5_SLIDER_CAPTION{
}
.carousel-caption {  /* stdn captions ausschalten */
	display: none !important;
}
.carousel-control-prev-icon{background-image: url('data:image/svg+xml,<%3Fxml version="1.0" encoding="UTF-8" standalone="no"%3F><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg width="100%" height="100%" viewBox="0 0 105 175" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-miterlimit:1.5;"><path d="M93.75,4.167l-83.333,83.333l83.333,83.333" style="fill:none;stroke:%23000;stroke-width:8.33px;"/><path d="M89.583,4.167l-83.333,83.333l83.333,83.333" style="fill:none;stroke:%23fff;stroke-width:8.33px;"/></svg>');
}
.carousel-control-next-icon{background-image: url('data:image/svg+xml,<%3Fxml version="1.0" encoding="UTF-8"%3F><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg clip-rule="evenodd" fill-rule="evenodd" stroke-miterlimit="1.5" version="1.1" viewBox="0 0 105 175" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><path d="m14.583 4.167 83.334 83.333-83.334 83.333" fill="none" stroke="%23000" stroke-width="8.33px"/><path d="m10.417 4.167 83.333 83.333-83.333 83.333" fill="none" stroke="%23fff" stroke-width="8.33px"/></svg>');
}
.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;
}
/* searchbox height */
.searchboxheight {
	 height: auto!important; 
	 padding-bottom: 50px!important;
	 bottom: inherit !important;
}
.text p:last-child {
	margin-bottom: 0;
}

.text, .text-footer {
	font-family:"Inter";
	font-weight:normal;
	overflow-wrap: break-word;
	word-wrap: break-word;
	-webkit-hyphens: auto;
	-ms-hyphens: auto;
	hyphens: auto;
}
.text a {
	text-decoration:none;
	border-bottom:1px solid var(--std)!important;
	padding-bottom:0px;
	transition: all .2s ease-out;
	color:var(--std);
}

.text a:hover {
	text-decoration:none;
	border-bottom:1px solid var(--CDcolor)!important;
	padding-bottom:0px;
	color:var(--CDcolor)!important;
}
.text-footer {
	color: var(--std)!important;
}
.contact_text {
	font-size: 14px;
}
.inputsearchbutton {
    height: 66px;
    background-color: transparent;
    border-color: var(--std)!important;
    border-width: 1px 1px 1px 1px;
    padding-top: 4px;
    padding-bottom: 4px;
    border-style: solid;
    border-radius: 0px 0px 0px 0px;
    color: var(--std)!important;
}
blockquote {
	display: flex;
	align-items: flex-start;
	margin: 20px 0;
}

blockquote p {
	font-style: italic;
	flex-grow: 1;
	margin: 0; /* Remove default margins */
}
blockquote::before {
	content: "\F250"; /* Unicode representation of your icon */
	font-family: bootstrap-icons;
	font-size: 36px;
	margin-right: 20px; /* Adjust spacing between icon and text */
	font-style: normal;
}
hr {
    opacity: 1;
}
/* modal */
.modal {--bs-modal-border-radius:0!important;}
.modal-header {border-bottom: none!important;}
.modal-content { border: none !important;}
.modal-backdrop{
	--bs-backdrop-bg:#ffffff;
	--bs-backdrop-opacity:0.8;
}

	.modal-sm {
		--bs-modal-width: 392px!important;
	}

 /* simplelightbox */
.sl-wrapper .sl-close {
    background: url('../img/lx_close.svg') center center no-repeat;
    background-size: contain;
    width: 34px;
    height: 34px;
}

.sl-wrapper button:hover {
    opacity: 1;
    background: url('../img/lx_close_hover.svg') center center no-repeat;
    background-size: contain;
    width: 34px;
    height: 34px;
}

.sl-wrapper .sl-image .sl-caption {
    color: #b1b1b1;
    padding-left: 0;
    line-height: 22px;
    font-size: 14px;
}

.sl-wrapper .sl-counter {
    color: #b1b1b1;
    line-height: 22px;
    font-size: 14px;
}

.sl-wrapper .sl-navigation button.sl-prev {
    opacity: 1;
    background: url(../img/lx_left.svg) center center no-repeat;
    width: 40px;
    height: 40px;
}

.sl-wrapper .sl-navigation button.sl-prev:hover {
    opacity: 1;
    background: url(../img/lx_left_hover.svg) center center no-repeat;
    width: 40px;
    height: 40px;
}

.sl-wrapper .sl-navigation button.sl-next {
    opacity: 1;
    background: url(../img/lx_right.svg) center center no-repeat;
    width: 40px;
    height: 40px;
}

.sl-wrapper .sl-navigation button.sl-next:hover {
    opacity: 1;
    background: url(../img/lx_right_hover.svg) center center no-repeat;
    width: 40px;
    height: 40px;
}
.trenner {
	border-top: 1px solid var(--std);
}
/* ths ----------------------------------------- styles */
.editme {
	z-index:10000;
	color: #ff0947;
	background-color: rgba(246, 253, 53, 0.71);
	position: fixed;
	top: 10px;
	left: 10px;
	padding-top:6px;
	padding-left:7px;
	padding-right:7px;
	padding-bottom: 3px;
	font-weight: bold;
	font-size: 18px;
	border-radius:50%;
	box-shadow: 5px 5px 5px rgba(169, 169, 169, 0.91);
	transition: all .2s ease-out;
}
.editme:hover {
	background-color: rgba(53, 254, 249, 0.91);
}
.editme a {
	text-decoration: none;
	font-weight: bold;
}