/* Variables
--------------------------------------------------------- */
:root {
	--fs-16: 1.6rem;
	--fs-18: 1.8rem;
	/* gradients figma export: */
	/* --gradient-1: linear-gradient(17.04deg, rgba(155, 166, 75, 0) 5.79%, rgba(155, 166, 75, 0.1) 95.8%);
	--gradient-2: linear-gradient(288.96deg, rgba(214, 212, 202, 0) 6.88%, rgba(214, 212, 202, 0.3) 88.16%);
	--gradient-3: linear-gradient(340.31deg, rgba(74, 68, 48, 0) 26.35%, rgba(74, 68, 48, 0.1) 74.06%); */
	/* gradients converted: */
	--gradient-1: linear-gradient(17.04deg, transparent 5.79%, color-mix(in srgb, var(--c-primary) 10%, white) 95.8%);
	--gradient-2: linear-gradient(288.96deg, transparent 6.88%, color-mix(in srgb, var(--c-light-gray) 30%, white) 88.16%);
	--gradient-3: linear-gradient(340.31deg, transparent 26.35%, color-mix(in srgb, var(--c-text) 10%, white) 74.06%);
}
@media (max-width:767px) {
	:root {
		--fs-18: 1.6rem;
	}
}

/* General
--------------------------------------------------------- */
.gradient-1 { background: var(--gradient-1); }
.gradient-2 { background: var(--gradient-2); }
.gradient-3 { background: var(--gradient-3); }

body.single {
	background: var(--gradient-2);
}
body.page-template-page-rechtliche {
	background: var(--gradient-1);
}
#content {
	font-size: var(--fs-16);
}
.single #content,
.page-template-page-rechtliche #content,
.page-template-page-ohne-banner #content {
	padding-top: clamp(18rem, 12.865rem + 6.800vw, 23rem);
}
.container.quote-small {
	max-width: 568px;
}
.card.post-type-projekte {
	/* margin-bottom: clamp(0rem, -16.432rem + 21.600vw, 16rem); */
	margin-bottom: clamp(0rem, -12.324rem + 16.200vw, 12rem);
}

/* pagination */
.pagination {
	display: inline-flex;
	align-items:center;
	justify-content:center;
	width: 100%;
}
.pagination .page-numbers {
	display: inline-flex;
	align-items:center;
	justify-content:center;
	width: 40px;
	height: 40px;
	border: 2px solid #EAEAEC;
	background-color: #fff;
	color: var(--c-text);
	margin: 3px;
	font-family: var(--ff-alt);
	font-weight: 600;
	border-radius: 8px;
}
.pagination a.page-numbers:hover {
	background-color: #EAEAEC;
}
.pagination .page-numbers.current {
	border-color: var(--c-primary);
	background-color: var(--c-primary);
}


/* Header
--------------------------------------------------------- */
header#main-header {
	background: none;
	box-shadow: none;
	top: 70px;
	padding-top: 0;
	padding-bottom: 0;
}
.header-middle .flex-col {
	flex: 1 1 auto;
	width: auto;
	flex-wrap: wrap;
	display: flex;
}
.burger {
	color: #fff;
}
.mobile-menu-open .burger,
.sticky-nav .burger,
.page-template-page-rechtliche .burger,
.page-template-page-ohne-banner .burger,
.single .burger {
	color: var(--c-text);
}
.single header#main-header,
.page-template-page-ohne-banner header#main-header,
.page-template-page-rechtliche header#main-header {
	top: 50px;
}
.mobile-menu-open header#main-header {
	top: 0px !important;
}
.sticky-nav header#main-header {
	background: var(--c-bg);
	box-shadow: 0 0 20px -8px rgba(0,0,0,.1);
	top: 0px !important;
}
.mobile-menu-open header#main-header {
	box-shadow: none;
}
.logo path,
.logo polygon {
	fill: #ffffff !important;
	transition: var(--transition);
}
.single .logo path,
.page-template-page-rechtliche .logo path,
.page-template-page-ohne-banner .logo path,
.sticky-nav .logo path,
.mobile-menu-open .logo path {
	fill: #d6d4ca !important;
}
.single .logo .logo-main-text polygon,
.single .logo .logo-main-text path,
.page-template-page-rechtliche .logo .logo-main-text polygon,
.page-template-page-rechtliche .logo .logo-main-text path,
.page-template-page-ohne-banner .logo .logo-main-text polygon,
.page-template-page-ohne-banner .logo .logo-main-text path,
.sticky-nav .logo .logo-main-text polygon,
.mobile-menu-open .logo .logo-main-text polygon,
.sticky-nav .logo .logo-main-text path,
.mobile-menu-open .logo .logo-main-text path {
	fill: var(--c-primary) !important;
}
/* main menu */
#main-menu li button, #main-menu li a {
	position: relative;
	font-family: var(--ff-alt);
	color: #ffffff;
	font-size: clamp(1.6rem, 1.367rem + 0.600vw, 2.2rem);
	font-weight: var(--fw-600);
	text-transform: uppercase;
	padding-top: .5rem;
	padding-bottom: .5rem;
}
#main-menu li button:hover, #main-menu li a:hover{
	color: #fff;
}
.single #main-menu li button, .single #main-menu li a,
.page-template-page-ohne-banner #main-menu li button, .page-template-page-ohne-banner #main-menu li a,
.page-template-page-rechtliche #main-menu li button, .page-template-page-rechtliche #main-menu li a,
.mobile-menu-open #main-menu li button, .mobile-menu-open #main-menu li a,
.sticky-nav #main-menu li button, .sticky-nav #main-menu li a {
	color: var(--c-text);
}
.mobile-menu-open #main-menu li button:hover, .mobile-menu-open #main-menu li a:hover,
.sticky-nav #main-menu li button:hover, .sticky-nav #main-menu li a:hover {
	color: var(--c-text);
}
.single-projekte #main-menu li.menu-item-3015 > button,
.single-projekte #main-menu li.menu-item-3015 > a,
#main-menu li.current-page-ancestor > button, #main-menu li.current-menu-ancestor > button, #main-menu li.current-menu-item > button, #main-menu li.current-page-ancestor > a, #main-menu li.current-menu-ancestor > a, #main-menu li.current-menu-item > a {
	color: var(--c-primary) !important;
}
.language-switcher-container .language-link::before,
.language-switcher-container .language-link::after,
#main-menu li button::before,
#main-menu li a::before,
#main-menu li button::after,
#main-menu li a::after {
	content:"";
	position: absolute;
	z-index: 2;
	pointer-events: none;
	bottom: .3rem;
	left:3rem;
	width:0;
	transition: var(--transition);
	height: 3px;
	background-color: var(--c-primary);
}
.language-switcher-container .language-link::after,
#main-menu li button::after,
#main-menu li a::after {
	bottom: -.4rem;
}
.language-switcher-container .language-link:hover::before,
.language-switcher-container .language-link:hover::after,
.language-switcher-container .language-link.current::before,
.language-switcher-container .language-link.current::after,
.single-projekte #main-menu li.menu-item-3015 > button::before,
.single-projekte #main-menu li.menu-item-3015 > a::before,
.single-projekte #main-menu li.menu-item-3015 > button::after,
.single-projekte #main-menu li.menu-item-3015 > a::after,
#main-menu li.current-page-ancestor > button::before, #main-menu li.current-menu-ancestor > button::before, #main-menu li.current-menu-item > button::before,
#main-menu li.current-page-ancestor > a::before, #main-menu li.current-menu-ancestor > a::before, #main-menu li.current-menu-item > a::before,
#main-menu li.current-page-ancestor > button::after, #main-menu li.current-menu-ancestor > button::after, #main-menu li.current-menu-item > button::after,
#main-menu li.current-page-ancestor > a::after, #main-menu li.current-menu-ancestor > a::after, #main-menu li.current-menu-item > a::after,
#main-menu li button:hover::before,
#main-menu li a:hover::before,
#main-menu li button:hover::after,
#main-menu li a:hover::after {
	width: calc(100% - 6rem);
}
.language-switcher-container .language-link::after,
#main-menu li button::after,
#main-menu li a::after {
	transition-delay: 0.1s;
}

/* invert mm hover line effect: */

/* #main-menu li button::before,
#main-menu li a::before {
	transition-delay: 0.1s;
}
#main-menu li button:hover::before,
#main-menu li a:hover::before {
	transition-delay: 0s;
}
#main-menu li button:hover::after,
#main-menu li a:hover::after {
	transition-delay: 0.1s;
} */

@media (max-width:1080px) {
	
	/* burger fix 23.02.26 */
	.burger {
		display: flex;
		justify-content: center;
		align-items: center;
	}
}
@media (max-width:767px) {
	header#main-header {
		top: 40px;
	}
	
}

/* mobile menu */
.mm-item-wrap {
	padding-top: 12rem;
}
#mobile-main-menu li {
	width: 100%;
}
.mm-contacts {
	border-style:solid;
	border-width: 2px 0;
	border-color: var(--c-lightest-gray);
}
.mm-contacts .tm-contacts-row a {
	font-weight: var(--fw-400);
}
.mm-contacts .tm-contacts-row svg {
	margin-right: var(--gap-half);
	width: 18px;
	height: 18px;
}


/* sprachwechsler */
.language-switcher-container .language-link {
	position: relative;
	background: none;
	border: none;
	border-radius: 0;
	display: inline-block;
	float: left;
	padding: 1.2rem .6rem;
	text-decoration: none;
	font-weight: var(--fw-400);
	cursor: pointer;
	line-height: var(--lh-m);
	font-family: var(--ff-alt);
	color: #ffffff;
	font-size: clamp(1.6rem, 1.367rem + 0.600vw, 2.2rem);
	text-transform: uppercase;
	padding-top: .5rem;
	padding-bottom: .5rem;
}
.language-switcher-container .language-link.current {
	font-weight: var(--fw-600);
}
.language-switcher-container .language-link::before,
.language-switcher-container .language-link::after {
	left: 0.6rem;
	background-color: #fff;
}
.language-switcher-container .language-link:hover::before,
.language-switcher-container .language-link:hover::after,
.language-switcher-container .language-link.current::before,
.language-switcher-container .language-link.current::after {
	width: calc(100% - 1.2rem);
}

.mobile-menu-open .language-switcher-container .language-link,
.sticky-nav .language-switcher-container .language-link,
.single .language-switcher-container .language-link,
.page-template-page-rechtliche .language-switcher-container .language-link,
.page-template-page-ohne-banner .language-switcher-container .language-link {
	color: var(--c-text);
}
.single .language-switcher-container .language-link::before,
.single .language-switcher-container .language-link::after,
.page-template-page-ohne-banner .language-switcher-container .language-link::before,
.page-template-page-ohne-banner .language-switcher-container .language-link::after,
.page-template-page-rechtliche .language-switcher-container .language-link::before,
.page-template-page-rechtliche .language-switcher-container .language-link::after,
.sticky-nav .language-switcher-container .language-link::before,
.sticky-nav .language-switcher-container .language-link::after,
.mobile-menu-open .language-switcher-container .language-link::before,
.mobile-menu-open .language-switcher-container .language-link::after {
	background-color: var(--c-text);
}


/* Typo
--------------------------------------------------------- */
/* all headlines */
.h1, .h2, .h3, .h4, .h5, .h6, .elementor-widget-heading h1.elementor-heading-title, h1, .elementor-widget-heading h2.elementor-heading-title, h2, .elementor-widget-heading h3.elementor-heading-title, h3, .elementor-widget-heading h4.elementor-heading-title, h4, .elementor-widget-heading h5.elementor-heading-title, h5, .elementor-widget-heading h6.elementor-heading-title, h6 {
	text-transform: uppercase;
	line-height: var(--lh-s);
}
/* h1 */
.h1, .elementor-widget-heading.h1 h2.elementor-heading-title, .entry-content h2.h1, h2.h1, .elementor-widget-heading.h1 h3.elementor-heading-title, .entry-content h3.h1, h3.h1, .elementor-widget-heading.h1 h4.elementor-heading-title, .entry-content h4.h1, h4.h1, .elementor-widget-heading.h1 h5.elementor-heading-title, .entry-content h5.h1, h5.h1, .elementor-widget-heading.h1 h6.elementor-heading-title, .entry-content h6.h1, h6.h1, .elementor-widget-heading.h1 h1.elementor-heading-title, .entry-content h1, h1 {
	font-size: clamp(3.2rem, 1.956rem + 3.000vw, 6.4rem);
	font-weight: var(--fw-700);
}
.h2, .elementor-widget-heading.h2 h1.elementor-heading-title, .entry-content h1.h2, h1.h2, .elementor-widget-heading.h2 h3.elementor-heading-title, .entry-content h3.h2, h3.h2, .elementor-widget-heading.h2 h4.elementor-heading-title, .entry-content h4.h2, h4.h2, .elementor-widget-heading.h2 h5.elementor-heading-title, .entry-content h5.h2, h5.h2, .elementor-widget-heading.h2 h6.elementor-heading-title, .entry-content h6.h2, h6.h2, .elementor-widget-heading.h2 h2.elementor-heading-title, .entry-content h2, h2 {
	font-size: clamp(2.8rem, 2.411rem + 0.900vw, 3.8rem);
	font-weight: var(--fw-700);
}
/* h3 */
.h3, .elementor-widget-heading.h3 h1.elementor-heading-title, .entry-content h1.h3, h1.h3, .elementor-widget-heading.h3 h2.elementor-heading-title, .entry-content h2.h3, h2.h3, .elementor-widget-heading.h3 h4.elementor-heading-title, .entry-content h4.h3, h4.h3, .elementor-widget-heading.h3 h5.elementor-heading-title, .entry-content h5.h3, h5.h3, .elementor-widget-heading.h3 h6.elementor-heading-title, .entry-content h6.h3, h6.h3, .elementor-widget-heading.h3 h3.elementor-heading-title, .entry-content h3, h3 {
	font-size: 2.2rem;
	font-weight: var(--fw-600);
}
/* h4 */
.h4, .elementor-widget-heading.h4 h1.elementor-heading-title, .entry-content h1.h4, h1.h4, .elementor-widget-heading.h4 h2.elementor-heading-title, .entry-content h2.h4, h2.h4, .elementor-widget-heading.h4 h3.elementor-heading-title, .entry-content h3.h4, h3.h4, .elementor-widget-heading.h4 h5.elementor-heading-title, .entry-content h5.h4, h5.h4, .elementor-widget-heading.h4 h6.elementor-heading-title, .entry-content h6.h4, h6.h4, .elementor-widget-heading h4.elementor-heading-title, .entry-content h4, h4 {
	font-size: 1.8rem;
	font-weight: var(--fw-600);
	color: var(--c-light-gray);
}
/* h5 */
.h5, .elementor-widget-heading.h5 h1.elementor-heading-title, .entry-content h1.h5, h1.h5, .elementor-widget-heading.h5 h2.elementor-heading-title, .entry-content h2.h5, h2.h5, .elementor-widget-heading.h5 h3.elementor-heading-title, .entry-content h3.h5, h3.h5, .elementor-widget-heading.h5 h4.elementor-heading-title, .entry-content h4.h5, h4.h5, .elementor-widget-heading.h5 h6.elementor-heading-title, .entry-content h6.h5, h6.h5, .elementor-widget-heading h5.elementor-heading-title, .entry-content h5, h5 {
	font-size: 1.6rem;
	font-weight: var(--fw-600);
}
/* h5 */
.h6, .elementor-widget-heading.h6 h1.elementor-heading-title, .entry-content h1.h6, h1.h6, .elementor-widget-heading.h6 h2.elementor-heading-title, .entry-content h2.h6, h2.h6, .elementor-widget-heading.h6 h3.elementor-heading-title, .entry-content h3.h6, h3.h6, .elementor-widget-heading.h6 h4.elementor-heading-title, .entry-content h4.h6, h4.h6, .elementor-widget-heading.h6 h5.elementor-heading-title, .entry-content h5.h6, h5.h6, .elementor-widget-heading h6.elementor-heading-title, .entry-content h6, h6 {
	font-size: 1.4rem;
	font-weight: var(--fw-600);
}
.fs-16 {font-size: var(--fs-16);}
.fs-18 {font-size: var(--fs-18);}
.wysiwyg ul li::before, .elementor-widget-text-editor ul li:not(.elementor-editor-element-edit)::before {
	width: 0.8rem;
	height: 0.8rem;
	border-radius: 2px;
	background-color: var(--c-primary);
	top: 0.75rem;
}
blockquote {
	color: var(--text, #4A4430);
	leading-trim: both;
	text-edge: cap;
	font-family: var(--ff-alt);
	font-size: clamp(2.6rem, 2.211rem + 0.900vw, 3.6rem);
	font-style: normal;
	font-weight: 400;
	line-height: var(--lh-s);
	position: relative;
	margin: 0 0 var(--gap-default) 0;
	padding-left: 40px;
}
blockquote::before,
blockquote::after {
	content: "";
	position: absolute;
	left: 0;
	top: 10px;
	background-color: var(--c-primary);
}
blockquote::before {
	width: 20px;
	height: 20px;
	border-radius: 20px;
}
blockquote::after {
	width: 4px;
	height: calc(100% - 12px);
	top: 12px;
	left: 8px;
}

/* Buttons
--------------------------------------------------------- */
.wp-block-button__link, .elementor-widget-button .elementor-button, input#submit, input[type="button"], input[type="submit"], input[type=reset], .button {
	font-size: var(--fs-m);
	/* color: var(--c-text) !important; */
	border-width: 2px;
	padding: 1rem 3rem;
	font-weight: var(--fw-700);
	line-height: var(--lh-m);
}
.wp-block-button__link:not(.outline), .elementor-widget-button:not(.outline) .elementor-button, input#submit:not(.outline), input[type="button"]:not(.outline), input[type="submit"]:not(.outline), input[type=reset]:not(.outline), .button:not(.outline) {
	color: var(--c-text) !important;
}
.wp-block-buttons.text .wp-block-button__link, .elementor-widget-button.text .elementor-button, .button.text {
	color: #fff !important;
}
.wp-block-buttons.text.outline .wp-block-button__link, .elementor-widget-button.text.outline .elementor-button, .button.text.outline {
	color: var(--c-text) !important;
}
.wp-block-buttons.text.outline .wp-block-button__link:hover, .elementor-widget-button.text.outline .elementor-button:hover, .button.text.outline:hover {
	color: #fff !important;
}
.wp-block-buttons.gray .wp-block-button__link, .elementor-widget-button.gray .elementor-button, .button.gray {
	background-color: var(--c-light-gray);
	border-color: var(--c-light-gray);
}
.wp-block-buttons.gray .wp-block-button__link:hover, .elementor-widget-button.gray .elementor-button:hover, .button.gray:hover {
	background-color: var(--c-light-gray-alt);
	border-color: var(--c-light-gray-alt);
}
.wp-block-buttons.gray.outline .wp-block-button__link, .elementor-widget-button.gray.outline .elementor-button, .button.gray.outline {
	background-color: transparent;
	/* color: var(--c-light-gray) !important; */
	color: var(--c-text) !important;
	border-color: var(--c-light-gray);
}
.wp-block-buttons.gray.outline .wp-block-button__link:hover, .elementor-widget-button.gray.outline .elementor-button:hover, .button.gray.outline:hover {
	background-color: var(--c-light-gray);
	color: var(--c-text) !important;
	border-color: var(--c-light-gray);
}
.wp-block-buttons.disabled .wp-block-button__link, .elementor-widget-button.disabled .elementor-button, .button.disabled span {
	opacity: .5;
}
.wp-block-buttons.outline:not(.text) .wp-block-button__link:hover, .elementor-widget-button.outline:not(.text) .elementor-button:hover, .button.outline:not(.text):hover {
	color: var(--c-text) !important;
}
.button.textlink {
	padding: 0;
	text-transform: uppercase;
	background: none;
	border: none;
}
.card .button.textlink {
	margin-top: 0;
}
.button.textlink {
	color: var(--c-text);
	border-radius: 0;
}
.button.textlink:hover {
	color: var(--c-primary) !important;
}
@media (min-width:768px) {
	.wp-block-button__link, .elementor-widget-button .elementor-button, input#submit, input[type="button"], input[type="submit"], input[type=reset], .button {
		margin-top: var(--gap-default);
	}
}


/* Swiper
--------------------------------------------------------- */
.swiper-button-prev,
.swiper-button-next {
	width: 35px;
	height: 47px;
	color: var(--c-text);
}
.swiper-button-prev::after,
.swiper-button-next::after {
	display: none;
}
.swiper-button-prev:hover,
.swiper-button-next:hover {
	color: var(--c-primary);
}
.nosun-widget .swiper-pagination .swiper-pagination-bullet, .swiper .swiper-pagination .swiper-pagination-bullet {
	width: 26px;
	height: 26px;
	border-radius: 26px;
	border: 3px solid var(--c-primary);
	position: relative;
	background: none !important;
	margin: 7.5px;
}
.nosun-widget .swiper-pagination .swiper-pagination-bullet::after, .swiper .swiper-pagination .swiper-pagination-bullet::after {
	content:"";
	position: absolute;
	width: 14px;
	height: 14px;
	border-radius: 14px;
	background-color: var(--c-primary);
	left:0;
	top:0;
	bottom:0;
	right:0;
	margin: auto;
	opacity: 0;
}
.nosun-widget .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active::after, .swiper .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active::after {
	opacity: 1;
}

/* Contact Form 7
--------------------------------------------------------- */
input[type="email"], input[type="number"], input[type="password"], input[type="search"], input[type="tel"], input[type="text"], input[type="url"], select, textarea {
	font-size: var(--fs-m);
}
textarea,
input[type="text"],
input[type="email"] {
	border-radius: 12px;
	border: 2px solid #9BA64B;
	background: rgba(255, 255, 255, 0.25);
}
.wpcf7-form label {
	display: block;
}
.wpcf7-form label .label-title {
	color:  var(--c-text);
	font-weight: var(--fw-700);
	width: calc(100% - 40px);
}
.wpcf7-form label:has(input:not(:placeholder-shown), textarea:not(:placeholder-shown)) .label-title, .wpcf7-form label:has(input:focus-visible, textarea:focus-visible) .label-title {
	left: var(--gap-default);
}
body .wpcf7-list-item {
	padding-left: 45px;
}
body .wpcf7-list-item input {
	left: -45px;
	width: 25px;
	height: 25px;
}
body .wpcf7-list-item::after, body .wpcf7-list-item::before {
	width: 25px;
	height: 25px;
	border-radius: 6px;
	border: 2px solid var(--c-primary, #9BA64B);
}
body .wpcf7-list-item::before {
	background-size: 18px;
}

/* cards */
.post-image-container {
	border-radius: 24px;
}


/* Single
--------------------------------------------------------- */
.s-meta-entry {
	margin: 0 clamp(2rem, -1.081rem + 4.100vw, 5rem) var(--gap-default) 0;
}
.s-meta-entry:last-child {
	margin: 0 0 var(--gap-default) 0;
}
.s-title-container {
	padding-bottom: clamp(2rem, -4.162rem + 8.100vw, 8rem);	
}
.s-title-container h1 {
	margin-bottom: 0;
}
.single .post-cards-eckpunkte {
	padding-bottom: clamp(2rem, -4.162rem + 8.100vw, 8rem);
}
.s-meta-container {
	padding-bottom: clamp(0rem, -6.162rem + 8.100vw, 6rem);
}
.single .post-cards-eckpunkte ul {
	margin-bottom: 0;
}
.s-gallery-container {
	position: relative;
	margin-top:	clamp(2rem, -4.162rem + 8.100vw, 8rem);
}
body .s-similar-button-prev,
body .s-similar-button-next,
.s-gallery-container .s-button-prev,
.s-gallery-container .s-button-next {
	top: -56px;
	bottom: 0;
	margin: auto;
	color: var(--c-text);
	transition: var(--transition);
}
body .s-similar-button-prev:hover,
body .s-similar-button-next:hover,
.s-gallery-container .s-button-prev:hover,
.s-gallery-container .s-button-next:hover {
	color: var(--c-primary);
}
#s-gallery-swiper {
	padding-bottom: 80px !important;
}
#s-gallery-swiper .swiper-slide {
	background-color: var(--c-primary);
	border-radius: 24px;
}
#s-gallery-swiper .swiper-slide img {
	border-radius: 24px;
}

/* ähnliche beiträge */
.s-similar-posts-slider-outer {
	position: relative;
}
#s-similar-posts-slider {
	padding-bottom: 120px !important;
}
body .s-similar-button-prev,
body .s-similar-button-next {
	top: -96px;
}
.s-similar-slide {
	display: grid !important;
	grid-gap: var(--gap-default);
	height: auto !important;
	width: 100% !important;
	grid-template-columns: repeat(2, 1fr);
	margin-bottom: 0 !important;
}
.s-similar-slide .post-image-container {
	position: relative;
	height: auto;
	width: 100%;
}
.s-similar-slide .post-image-container img {
	position: absolute;
	top: 0;
	left:0;
}
.s-similar-slide .post-content-container {
	width: 100%;
	padding-top: 0;
	min-height: 300px;
}
.single .s-bottom-wrapper .post-cards-eckpunkte {
	padding-bottom: 27px;
}
.single .s-bottom-wrapper .post-title.h3,
.single .s-bottom-wrapper .bb-excerpt-inner {
	margin-bottom: 27px;
}
.single .s-bottom-wrapper .button {
	margin-bottom: 0;
}
body .swiper-button-prev, body .swiper-button-next {
	width: 50px;
	height: 50px;
	border-radius: var(--border-radius);
}
@media (max-width:767px) {
	.s-similar-posts-slider-outer {
		padding-left: 0;
		padding-right: 0;
	}
	.single .s-similar-posts-slider-outer {
		margin-top: 0;
	}
	body .s-similar-button-prev, body .s-similar-button-next {
		bottom:auto !important;
		top: calc(150px - 25px) !important;
		background: white !important;
	}
	body .swiper-button-prev, body .swiper-button-next {
		background: white !important;
	}
	body .swiper-button-prev svg, body .swiper-button-next svg,
	body .s-similar-button-prev svg, body .s-similar-button-next svg {
		width: 20px;
		height: 20px;
	}
	.s-similar-slide {
		grid-template-columns: repeat(1, 1fr);
		grid-template-rows: 300px auto;
	}
	
	body .logo-swiper:has(.swiper-button-prev),
	#s-similar-posts-slider {
		padding-bottom: 60px !important;
	}
	.single #s-similar-posts-slider {
		padding-bottom: 80px !important;
	}
	body .logo-swiper .swiper-button-prev, body .logo-swiper .swiper-button-next {
		top: auto;
		bottom: 0px;
	}
	body.single .s-gallery-container .swiper-button-prev {
		left: 0;
	}
	body.single .s-gallery-container .swiper-button-next {
		right: 0;
	}
	
	#footer-menu {
		padding-bottom:30px;
	}
	
}


/* Projekte
--------------------------------------------------------- */
/* single */
.post-content-container {
	padding-top: var(--gap-default);
}
/* category filter */
.cat-filter-container {
	margin-bottom: var(--gap-half);
}
.cat-filter {
	cursor:pointer;
	border: 1px solid var(--c-light-gray);
	padding: 1rem 3rem;
	font-weight: var(--fw-700);
	line-height: var(--lh-m);
	color: var(--c-text);
	border-radius: var(--border-radius);
	margin-right: var(--gap-half);
	margin-bottom: var(--gap-half);
	font-size: var(--fs-m);
	font-family: var(--ff-default);
	text-align: center;
	text-decoration: none !important;
	display: inline-flex;
	transition: var(--transition);
}
.cat-filter:last-child {
	margin-right: 0;
}
.cat-filter.active {
	pointer-events: none;
	border-color: var(--c-primary);
	background-color: var(--c-primary);
}
.cat-filter:hover {
	color: var(--c-primary);
}


/* Footer
--------------------------------------------------------- */
.footer-middle {
	background-color: var(--c-light-gray);
	padding-top: 0;
	padding-bottom: 0;
}
.footer-middle.footer-middle-top {
	padding-top: clamp(4rem, -0.108rem + 5.400vw, 8rem);
}
.footer-middle.footer-middle-bottom {
	padding-bottom: clamp(4rem, -0.108rem + 5.400vw, 8rem);
}
.f-logo img,
.f-logo svg {
	width: 100%;
	max-width: 223px;
	height: auto;
}
.footer-middle.footer-middle-top,
.footer-middle .f-logo {
	padding-bottom: clamp(2rem, 0.870rem + 1.500vw, 3.1rem);
}
.footer-middle .tm-contacts-row a {
	font-size: var(--fs-m);
	color: var(--c-text);
	font-weight: 700;
}
.footer-middle .tm-contacts-row a:hover {
	color: var(--c-primary);
}

.tm-contacts-row svg {
	display: inline-block;
	margin-right: var(--gap-default);
}
.tm-contacts-row a {
	display: inline-block;
	font-weight: var(--fw-700);
	font-size: var(--fs-18);
	color: var(--c-text);
}
.tm-contacts-row a:hover {
	color: var(--c-primary);
}
#footer-main-menu li {
	width: 100%;
	display: inline-block;
}
#footer-menu {
	margin-top: var(--gap-default);
}
#footer-menu li {
	width: auto;
	display: inline-block;
	margin-right: 1rem;
	position: relative;
}
#footer-menu li::after {
	content:"";
	width: 2px;
	height: 2.2rem;
	position: absolute;
	right: -0.9rem;
	top:0;
	bottom:0;
	margin:auto;
	background: var(--c-text);
	pointer-events: none;
}
#footer-menu li:last-child {
	margin-right: 0;
}
#footer-menu li:last-child::after {
	display: none;
}
#footer-menu li button,
#footer-main-menu li button,
#footer-menu li a,
#footer-main-menu li a {
	font-family: var(--ff-alt);
	font-size: 2rem;
	font-weight: 600;
	line-height: 1;
	text-transform: uppercase;
	color: var(--c-text);
}
#footer-menu li button:hover,
#footer-main-menu li button:hover,
#footer-menu li a:hover,
#footer-main-menu li a:hover {
	color: var(--c-primary);
}
.f-logo svg path {
	fill: #ffffff !important;
}
.f-logo svg .logo-main-text polygon,
.f-logo svg .logo-main-text path {
	fill: var(--c-primary) !important;
}
.footer-social-media {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}
.f-socials-title {
	font-size: 2.2rem;
}
.footer-social-media .fsm-item-wrapper{
	margin-bottom: 0;
	height: 22px;
}
.footer-social-media .fsm-item-wrapper a svg {
	width: auto;
	height: 22px;
	padding: 3px;
	border-radius: 2px;
	background-color: var(--c-primary);
	color: var(--c-white);
}
.footer-social-media .fsm-item-wrapper a:hover svg {
	color: var(--c-white);
	background-color: var(--c-primary-alt);
}
.footer-social-media .fsm-item-wrapper a#fsm-linkedin svg {
	background-color: #2867B2;
}
.footer-social-media .fsm-item-wrapper a#fsm-linkedin:hover svg {
	background-color:  color-mix(in srgb, #2867B2 90%, black);;
}




