/* General
--------------------------------------------------------- */
body {
	background-color: var(--c-lightest-gray);
}
#content {
	padding: 0;
}


/* Typo
--------------------------------------------------------- */
.h1, .h2, .h3, .h4, .h5, .h6, .elementor-widget-heading h1.elementor-heading-title, .entry-content h1, h1, .elementor-widget-heading h2.elementor-heading-title, .entry-content h2, h2, .elementor-widget-heading h3.elementor-heading-title, .entry-content h3, h3, .elementor-widget-heading h4.elementor-heading-title, .entry-content h4, h4, .elementor-widget-heading h5.elementor-heading-title, .entry-content h5, h5, .elementor-widget-heading h6.elementor-heading-title, .entry-content h6, h6 {
	font-weight: 400;
	letter-spacing: var(--ls-n);
	line-height: var(--lh-s);
}
.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(2.6rem, 1.004rem + 3.400vw, 5.666rem);
}
.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.4rem, 1.536rem + 2.000vw, 4.2rem);
}
.h11 {
	font-size: 1.733rem;
	letter-spacing: var(--ls-l);
	font-weight: 500;
}
a:hover {
	text-decoration: underline;
}


/* Header
--------------------------------------------------------- */
header#main-header {
	position: relative !important;
	box-shadow: none;
	background-color: var(--c-lightest-gray);
}
#logo {
	margin-top: 50px;
	margin-bottom: 50px;
}
#logo img,
#logo svg {
	width: 200px !important;
	height: auto !important;
}
.elementor-widget-button .elementor-button, input#submit, input[type="button"], input[type="submit"], .button {
	background: none !important;
	border: none !important;
	padding: 5px 0;
	color:var(--c-text);
	font-weight: 200;
	text-transform: uppercase;
	font-size: var(--fs-m);
	letter-spacing: var(--ls-l);
}
.elementor-widget-button .elementor-button:hover, input#submit:hover, input[type="button"]:hover, input[type="submit"]:hover, .button:hover {
	color:var(--c-primary-alt);
}
.elementor-widget-button .elementor-button::before, input#submit::before, input[type="button"]::before, input[type="submit"]::before, .button::before {
	content:">>";
	transition: all var(--a-timing-default) var(--a-easing-default);
}
.elementor-widget-button .elementor-button:hover::before, input#submit:hover::before, input[type="button"]:hover::before, input[type="submit"]:hover::before, .button:hover::before {
	transform: translateX(5px);
}

/* Header
--------------------------------------------------------- */
.header-middle .grid {
	grid-template-columns: 1fr 235px 1fr;
}
#hm-col-1 {
	text-align: right;
}
#hm-col-2 {
	text-align: center;
}
#hm-col-3 {
	text-align: left;
}
#logo,
.menu-hauptmenue-rechts-container,
.menu-hauptmenue-link-container {
	display: inline-block;
	vertical-align: top;
}
.mobile-menu-inner {
	background-color: var(--c-lightest-gray);
}

/* Main Menu */
#main-right {
	list-style: none;
	float: right;
}
#main-right li {
	float: left;
}
#main-menu li a,
#main-right li a {
	color: var(--c-text);
	display: inline-block;
	float: left;
	padding: 1.2rem 2rem;
	text-decoration: none;
	font-weight: bold;
	font-weight: 400;
	letter-spacing: var(--ls-l);
	text-transform: uppercase;
	font-size: var(--fs-m);
}
#main-menu li.current-page-ancestor > a,
#main-menu li.current-menu-ancestor > a,
#main-menu li.current-menu-item > a,
#main-menu li a:hover,
#main-right li.current-page-ancestor > a,
#main-right li.current-menu-ancestor > a,
#main-right li.current-menu-item > a,
#main-right li a:hover {
	color: var(--c-primary-alt);
}
#main-menu li a:hover,
#main-right li a:hover {
	text-decoration: underline;
}
#mobile-main-menu li.current-page-ancestor > a,
#mobile-main-menu li.current-menu-ancestor > a,
#mobile-main-menu li.current-menu-item > a,
#mobile-main-menu-right li.current-page-ancestor > a,
#mobile-main-menu-right li.current-menu-ancestor > a,
#mobile-main-menu-right li.current-menu-item > a,
#main-menu li.current-page-ancestor > a,
#main-menu li.current-menu-ancestor > a,
#main-menu li.current-menu-item > a,
#main-right li.current-page-ancestor > a,
#main-right li.current-menu-ancestor > a,
#main-right li.current-menu-item > a {
	font-weight: bold;
}
@media (min-width: 1081px) {
	header#main-header .menu-hauptmenue-container {
		display: block;
	}
}
#main-menu li.menu-item-has-children,
#main-right li.menu-item-has-children {
	position: relative;
}
#main-menu li.menu-item-has-children > .sub-menu-toggle,
#main-right li.menu-item-has-children > .sub-menu-toggle {
	position: absolute;
	right: 0rem;
	top: 0.9rem;
	height: 2.6rem;
	width: 2.6rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;
}
#main-menu li.menu-item-has-children > .sub-menu-toggle svg,
#main-right li.menu-item-has-children > .sub-menu-toggle svg {
	width: 18px;
	height: 18px;
	transition: all var(--a-timing-default) var(--a-easing-default);
}
#main-menu li.menu-item-has-children:hover > .sub-menu-toggle svg,
#main-right li.menu-item-has-children:hover > .sub-menu-toggle svg {
	transform: rotate(180deg);
}
#main-menu > li > .sub-menu,
#main-right > li > .sub-menu {
	position: absolute;
	top: 100%;
	left:50%;
	right:auto;
	padding: var(--gap-half);
	background-color: var(--c-white);
	min-width: 290px;
	box-shadow: var(--box-shadow-default);
	opacity: 0;
	pointer-events: none;
	visibility: hidden;
	/* transform: translateY(1rem); */
	transform: translateX(-50%);
	transition: all var(--a-timing-default) var(--a-easing-default);
}
#main-menu > li.menu-item-has-children:focus-within > .sub-menu,
#main-menu > li.menu-item-has-children:focus-visible > .sub-menu,
#main-menu > li.menu-item-has-children:focus > .sub-menu,
#main-menu > li.menu-item-has-children:hover > .sub-menu,
#main-right > li.menu-item-has-children:focus-within > .sub-menu,
#main-right > li.menu-item-has-children:focus-visible > .sub-menu,
#main-right > li.menu-item-has-children:focus > .sub-menu,
#main-right > li.menu-item-has-children:hover > .sub-menu {
	opacity: 1;
	pointer-events: all;
	visibility: visible;
	transform: translateX(-50%);
}
#main-menu .sub-menu,
#main-right .sub-menu {
	width: 100%;
	list-style: none;
	
}
#main-menu .sub-menu li,
#main-right .sub-menu li {
	width: 100%;
	display: inline-block;
	text-align: center;
	float: none;
}
#main-menu .sub-menu li a,
#main-right .sub-menu li a {
	padding-top: .6rem;
	padding-bottom: .6rem;
	margin-top: .6rem;
	margin-bottom: .6rem;
	text-align: center;
	float: none;
	line-height: var(--lh-s);
}
#main-menu .sub-menu .sub-menu,
#main-right .sub-menu .sub-menu {
	padding-left: var(--gap-default);
	padding-right: var(--gap-default);
	text-align: center;
	/* margin-top: -5px; */
	margin-bottom: 10px;
}
#main-menu .sub-menu .sub-menu li a,
#main-right .sub-menu .sub-menu li a {
	margin-top: 0;
	margin-bottom: 0;
	font-weight: 400;
	float: none;
	font-size: clamp(1.4rem, 1.321rem + 0.200vw, 1.6rem);
}


.elementor-element-f6660fd img {
	mix-blend-mode: multiply;
}

@media (min-width: 1081px) {
	header .container.xlarge {
		padding-left: calc(var(--gap-default) * 2);
		padding-right: calc(var(--gap-default) * 2);
	}
}

.elementor-element-1662779 > .elementor-container {
	padding-left:0 !important;
	padding-right:0 !important;
}
#content .elementor-widget-image-gallery .elementor-widget-container .gallery {
	grid-template-columns: repeat(3, 1fr) !important;
	max-width: 900px;
}
#content .elementor-widget-image-gallery .elementor-widget-container .gallery br {
	display: none !important;
}


/* Widget: Seitentitel
--------------------------------------------------------- */
.nosun-seitentitel {
	text-align:center;
}


/* Shortcode: partner-logos
--------------------------------------------------------- */
.partner-container {
	padding-bottom: 60px !important;
	margin-bottom: var(--gap-default);
}
.flex-row-break {
	display: none;
	flex-grow: 1;
}
.swiper-slide.partner {
	max-height: 100px;
	width: 100%;
	height: auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.swiper-slide.partner img,
.swiper-slide.partner svg {
	filter: grayscale(1);
	width: 100%;
	height: 100% !important;
	object-fit: contain;
	max-height: 150px;
	mix-blend-mode: multiply;
}
@media (min-width: 1081px) {
	.swiper-wrapper.partner-wrapper {
		transform: translate(0, 0) !important;
		display: flex;
		flex-wrap: wrap;
		align-items:center;
		justify-content: center;
		text-align:center;
		grid-gap: 40px 80px;
	}
	.swiper-slide.partner {
		/* width: calc(100% / 6); */
		width: 11%;
		max-height: 150px;
	}
	.swiper-slide.partner#quinn img, .swiper-slide.partner#quinn svg { max-height: 30px; }
	.swiper-slide.partner#titan-factory img, .swiper-slide.partner#titan-factory svg { max-height: 50px; }
	.swiper-slide.partner#wolf img, .swiper-slide.partner#wolf svg { max-height: 30px; }
	.swiper-slide.partner#manu-1 img, .swiper-slide.partner#manu-1 svg { max-height: 30px; }
	.partner-container .swiper-pagination {
		display: none;
	}
}


/* swiper
--------------------------------------------------------- */
.swiper-container .swiper-pagination-bullet {
	width: 8px;
	height: 6px;
	border-radius: 0;
	transition: all var(--a-timing-default) var(--a-easing-default);
	background-color: #fff;
}
.swiper-container.partner-container .swiper-pagination-bullet {
	background-color: var(--c-text);
}
.swiper-container .swiper-pagination-bullet.swiper-pagination-bullet-active {
	width: 30px;
}


/* Widget: Bilderkarussell
--------------------------------------------------------- */
.bk-gallery {
	padding-left: 40px;
	padding-right: 40px;
}
.swiper.bk-gallery-container {
	padding-bottom: 80px;
}
.bk-gallery-container .swiper-slide.bk-item {
	height: auto;
	width: 100% !important;
	opacity: 0;
	transition: opacity 1.2s ease;
}
.elementor-editor-active .bk-gallery-container .swiper-slide,
.bk-gallery-container .swiper-slide.bk-item.swiper-slide-active,
.bk-gallery-container .swiper-slide.bk-item.swiper-slide-next {
	opacity: 1;
}
.bk-image {
	height: 100%;
}
.bk-gallery-container .swiper-slide img {
	height: 100% !important;
	object-fit:cover;
	/* aspect-ratio: 600 / 708; */
	aspect-ratio: 604 / 714;
	width: 100%;
}
.bk-subtitle {
	display: inline-block;
	padding: 0 var(--gap-default);
	margin: 10px 0;
	height: 20px;
	line-height: var(--gap-default);
	text-align:center;
	width: 100%;
	overflow:hidden;
}
.bk-text-right {
	padding-right: 40px;
}
.swiper.bk-gallery-container .swiper-pagination-bullets {
	bottom: 90px !important;
}
@media (min-width: 768px) {
	.bk-gallery-container .swiper-slide.bk-item {
		width: 50% !important;
	}
	/* .tcol-1,
	.tcol-2 {
		grid-row: 1;
	} */
}


/* Widget: Bilder
--------------------------------------------------------- */
.v1-image-container,
.v2-3-image-container {
	padding-left: 40px;
	padding-right: 40px;
	text-align:center;
}
.v2-3-image-1,
.v2-3-image-2 {
	grid-row: 1;
	position: relative;
	z-index: 1;
}
/* .img-inner {
	overflow: hidden;
} */
.v2-3-image-1 img,
.v2-3-image-2 img {
	width: 100%;
	height: auto;
}
.v2-3-image-1 {
	z-index: 2;
}
.bild-2-ueberlagert .v2-3-image-2 {
	z-index: 3;
}
.v2-3-text-right {
	padding: var(--gap-default) 0;
}
.bt-variante-v2 .v2-3-image-1 .img-inner,
.bt-variante-v3 .v2-3-image-2 .img-inner {
	/* max-height: 700px; */
}
.bt-variante-v2 .v2-3-image-2,
.bt-variante-v3 .v2-3-image-1 {
	height: 100%;
	position: relative;
}
.bt-variante-v2 .v2-3-image-2 .img-inner,
.bt-variante-v3 .v2-3-image-1 .img-inner {
	/* max-height: 500px;
	height: 70%;
	min-height: 50%; */
	position: absolute;
	top: -40px;
	bottom: 0;
	margin: auto;
	right: 0;
	height: 70%;
}
.bt-variante-v2 .v2-3-image-2 .img-inner img,
.bt-variante-v3 .v2-3-image-1 .img-inner img {
	height: 100% !important;
	object-fit: cover;
}
.bt-variante-v2 .v2-3-image-1 .img-inner img,
.bt-variante-v3 .v2-3-image-2 .img-inner img {
	min-height: 700px;
	height: 100% !important;
	object-fit: cover;
}
.img-subtitle {
	display: inline-block;
	padding: 18px 0;
	max-width: calc(var(--container-size) / 12 * 5);
}
.bt-variante-v3 .v2-3-image-1 .img-subtitle {
	width: 100%;
	padding-right: var(--gap-default);
	padding-left: var(--gap-default);
}
.bt-variante-v2 .v2-3-image-2 .img-subtitle {
	width: 100%;
	padding-left: var(--gap-default);
	padding-right: var(--gap-default);
}
.nosun-bild-text .button {
	margin-top: var(--gap-default);
}
@media (min-width: 768px) {
	.v2-3-text-right {
		padding: 5% 20% 5% 5%;
	}
	.bt-variante-v3 .v2-3-text-right {
		padding: 10% 20% 10% 10%;
	}
	.bt-variante-v3 .v2-3-image-1 .img-subtitle {
		padding-right: 17%;
	}
	.bt-variante-v2 .v2-3-image-2 .img-subtitle {
		padding-left: 17%;
	}
}
@media (min-width: 1081px) {
	.v1-image-container, .v2-3-image-container,
	.bk-gallery {
		padding-left: 80px;
		padding-right: 80px;
	}
	.bk-text-right {
		padding-right: 80px;
	}
}


/* Widget: Text-Element
--------------------------------------------------------- */
.text-inner {
	display: inline-block;
}


/* Footer
--------------------------------------------------------- */
.footer-middle {
	text-align:center;
}
.footer-middle,
.footer-bottom {
	background: none;
	color: var(--c-text);
}
.fm-data {
	display: inline-block;
	vertical-align: top;
	padding: 0 var(--gap-default);
}
#footer-socmed {
	text-align: right;
	list-style: none;
}
#footer-socmed li,
#footer-menu li {
	display: inline-block;
	float: none;
	vertical-align:top;
	width: auto;
	margin: 0 40px 20px 0;
}
#footer-socmed li a,
#footer-menu li a {
	font-size: var(--fs-m);
	letter-spacing: var(--ls-l);
	text-transform: uppercase;
	font-weight: 200;
}
#footer-socmed li a svg {
	width: 20px;
	height: 20px;
}
#footer-socmed li a svg path {
	transition: all var(--a-timing-default) var(--a-easing-default);
}
#footer-socmed li {
	margin: 0 0 20px 20px;
}
#footer-menu li a:hover {
	text-decoration: underline;
}


/* Animations
--------------------------------------------------------- */
/* default */
.elementor-widget-heading, .elementor-widget-text-editor, .animate {
	opacity: 0;
	/* transform: translateY(40px); */
	transition: all var(--a-timing-default) var(--a-easing-default);
}
.elementor-widget-button .elementor-button, .button {
	opacity: 0;
	/* transform: translateY(40px); */
}
/* only fade */
.fadeIn {
	opacity: 0;
	transition: all var(--a-timing-default) var(--a-easing-default);
}
/* animation complete */
.elementor-editor-active .elementor-widget-heading,
.elementor-editor-active .elementor-widget-text-editor,
.elementor-editor-active .elementor-widget-button .elementor-button,
.elementor-editor-active .button,
.elementor-editor-active .animate,
.elementor-widget-heading.inView,
.elementor-widget-text-editor.inView,
.elementor-widget-button .elementor-button.inView,
.button.inView,
.animate.inView {
	opacity: 1;
	/* transform: translateY(0px); */
}
.elementor-editor-active .fadeIn,
.fadeIn.inView {
	opacity: 1;
}

#mobile-main-menu-right {
	list-style: none;
}
#mobile-main-menu li,
#mobile-main-menu-right li {
	position: relative;
	list-style: none;
}
#mobile-main-menu-right li a {
	font-size: var(--fs-l);
	display: inline-block;
	margin: 1rem 0;
	text-decoration: none;
	color: var(--c-text);
}
#mobile-main-menu .sub-menu,
#mobile-main-menu-right .sub-menu {
	margin-bottom: 20px;
	padding-left: 0;
}
#mobile-main-menu .sub-menu li a,
#mobile-main-menu-right .sub-menu li a {
	font-size:var(--fs-s);
}

#mobile-main-menu-right .sub-menu {
	padding-left: var(--gap-default);
	list-style: none;
	display: none;
}
#mobile-main-menu .sub-menu li,
#mobile-main-menu-right .sub-menu li {
	margin-bottom: 5px;
}
	
	
	
/* Media Queries
--------------------------------------------------------- */
@media (max-width:1350px) and (min-width: 768px) {
	footer#main-footer {
		padding-bottom: 40px;
	}
}
@media (max-width:1290px) { /* container width */
	#content {
		padding-left: 20px;
		padding-right: 20px;
	}
	footer#main-footer .container,
	header#main-header .container {
		padding-left: 40px;
		padding-right: 40px;
	}
}
@media (max-width: 1080px) {
	.spaltenbreite-25 .v1-image-inner, .spaltenbreite-50 .v1-image-inner,
	.spaltenbreite-25 .text-inner, .spaltenbreite-50 .text-inner {
		width: 75% !important;
		max-width: 75% !important;
	}
	header#main-header {
		position: fixed !important;
	}
	header#main-header .header-middle .grid {
		align-items: center;
	}
	#hm-col-2 {
		text-align: left;
	}
	#logo {
		margin-top: 0;
		margin-bottom: 0;
	}
	#logo img,
	#logo svg {
		/* width: 200px !important;
		height: auto !important; */
		max-width: 70%;
	}
	#content {
		padding-top: 85px;
	}
	.menu-hauptmenue-links-container,
	.menu-hauptmenue-rechts-container {
		width: 100%;
	}
	.menu-hauptmenue-links-container ul li a,
	.menu-hauptmenue-rechts-container ul li a {
		text-transform: uppercase;
		letter-spacing: var(--ls-l);
	}
	.mobile-menu-inner {
		display: flex;
		align-items: center;
		justify-content: center;
	}
	#mobile-main-menu .sub-menu-toggle,
	#mobile-main-menu-right .sub-menu-toggle {
		top: 0.3rem;
		position: absolute;
	}
	header .menu-hauptmenue-rechts-container,
	#hm-col-1 {
		display: none !important;
	}
}
@media (max-width: 1080px) and (min-width:768px) {
	.nosun-bild-text .grid {
		grid-gap: 0;
	}
}
@media (max-width: 767px) {
	.spaltenbreite-25 .v1-image-inner, .spaltenbreite-50 .v1-image-inner, .spaltenbreite-75 .v1-image-inner,
	.spaltenbreite-25 .text-inner, .spaltenbreite-50 .text-inner, .spaltenbreite-75 .text-inner {
		width: 100% !important;
		max-width: 100% !important;
	}
	.bk-gallery,
	.v1-image-container, .v2-3-image-container {
		padding-left: 0px;
		padding-right: 0px;
	}
	.v2-3-image-1, .v2-3-image-2 {
		grid-row: auto;
	}
	.bt-variante-v2 .v2-3-image-2 .img-inner, .bt-variante-v3 .v2-3-image-1 .img-inner {
		position: static;
		height: auto;
	}
	.bt-variante-v2 .v2-3-image-1 .img-inner img, .bt-variante-v3 .v2-3-image-2 .img-inner img {
		min-height: 100px;
		height: auto;
	}
	.fm-data {
		width: 100%;
		padding: 0 0 0px 0;
		text-align: center;
	}
	/* #footer-socmed li, */
	#footer-menu li {
		width:100%;
		margin: 0 0 10px 0;
		text-align: center;
	}
	#footer-socmed {
		text-align: center;
	}
	#footer-socmed li {
		margin: 10px;
	}
	#footer-socmed li:last-child,
	#footer-menu li:last-child {
		margin-bottom: 0;
	}
	#footer-menu li a {
		float: none;
	}
	.footer-middle {
		padding-bottom: 0px;
	}
	.footer-bottom {
		padding-bottom: 80px;
	}
	/* #content {
		padding-left: 20px;
		padding-right: 20px;
	} */
	/* footer#main-footer .container,
	header#main-header .container {
		padding-left: 40px;
		padding-right: 40px;
	} */
}
@media (max-width: 1080px) and (min-width: 768px) {
	.header-middle .grid {
		grid-template-columns: repeat(6, 1fr);
	}
}