
@import url("/wp-content/uploads/fonts/vanitas/stylesheet.css");
@import url("/wp-content/uploads/fonts/montserrat/stylesheet.css");

:root {
 --cl-kupfer: #A25D42;
 --cl-typo: #231E18;
 --cl-weiss: #E2DCD1;
 --cl-green: #00413D;
 --primary-font: 'Montserrat', sansserif;
 --secondary-font: 'Vanitas', sansserif; 
}

* { /* Firefox */
 scrollbar-width: thin;
 scrollbar-color: var(--cl-kupfer) var(--cl-weiss);
}
/* Chrome, Edge, and Safari */
*::-webkit-scrollbar { width: 6px;}
*::-webkit-scrollbar-track { background:var(--cl-kupfer);}
*::-webkit-scrollbar-thumb { background-color: var(--cl-weiss); border-radius: 20px; border: 0px solid transparent;}

/* Firefox */
 .l-canvas * { 
		scrollbar-width: thin;
		scrollbar-color: var(--cl-green) var(--cl-green);
 }

/* Chrome, Edge, and Safari */
.l-canvas *::-webkit-scrollbar { width: 6px;}
.l-canvas *::-webkit-scrollbar-track { background:var(--cl-green);}
.l-canvas *::-webkit-scrollbar-thumb { background-color: var(--cl-green); border-radius: 20px; border: 0px solid transparent;}



/* START TOOLTIP */

span[tooltip] {
	width: 100%;
	height: 100%;
	display: inline-block;
	position: relative;
}

[tooltip] {
  position: relative; /* opinion 1 */
}
[tooltip]::before,
[tooltip]::after {
  text-transform: none;
  font-size: 11px;
  line-height: 1;
  user-select: none;
  pointer-events: none;
  position: absolute;
  display: none;
  opacity: 0;
}
[tooltip]::before {
  content: '';
  border: 6px solid transparent;
  z-index: 1001;
}
[tooltip]::after {
  content: attr(tooltip);
  font-weight: 300;
	letter-spacing: 0.03rem;
  text-align: center;
  min-width: 3em;
  max-width: 21em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding: 6px 10px;
  border-radius: .3ch;
  box-shadow: 0 .5em .5em -.5em rgba(0, 0, 0, 0.35);
  background: var(--cl-green);
  color: var(--cl-weiss);
  z-index: 1000;
}
[tooltip]:hover::before,
[tooltip]:hover::after {
  display: block;
}
[tooltip='']::before,
[tooltip='']::after {
  display: none !important;
}
[tooltip]:not([flow])::before,
[tooltip][flow^="up"]::before {
  bottom: calc(100% + 8px);
  border-bottom-width: 0;
  border-top-color: var(--cl-green);
}
[tooltip]:not([flow])::after,
[tooltip][flow^="up"]::after {
  bottom: calc(100% + 15px);
}
[tooltip]:not([flow])::before,
[tooltip]:not([flow])::after,
[tooltip][flow^="up"]::before,
[tooltip][flow^="up"]::after {
  left: 50%;
  transform: translate(-50%, -.5em);
}
[tooltip][flow^="down"]::before {
  top: calc(100% - 4px);
  border-top-width: 0;
  border-bottom-color: var(--cl-green);
}
[tooltip][flow^="down"]::after {
  top: calc(100% + 2px);
}
[tooltip][flow^="down"]::before,
[tooltip][flow^="down"]::after {
  left: 50%;
  transform: translate(-50%, .5em);
}
[tooltip][flow^="left"]::before {
  top: 50%;
  border-right-width: 0;
  border-left-color: var(--cl-green);
  left: calc(0em - 15px);
  transform: translate(-.5em, -50%);
}
[tooltip][flow^="left"]::after {
  top: 50%;
  right: calc(100% + 15px);
  transform: translate(-.5em, -50%);
}
[tooltip][flow^="right"]::before {
  top: 50%;
  border-left-width: 0;
  border-right-color: var(--cl-green);
  right: calc(0em - 15px);
  transform: translate(.5em, -50%);
}
[tooltip][flow^="right"]::after {
  top: 50%;
  left: calc(100% + 15px);
  transform: translate(.5em, -50%);
}
@keyframes tooltips-vert {
  to {
 opacity: .9;
 transform: translate(-50%, 0);
  }
}
@keyframes tooltips-horz {
  to {
 opacity: .9;
 transform: translate(0, -50%);
  }
}
[tooltip]:not([flow]):hover::before,
[tooltip]:not([flow]):hover::after,
[tooltip][flow^="up"]:hover::before,
[tooltip][flow^="up"]:hover::after,
[tooltip][flow^="down"]:hover::before,
[tooltip][flow^="down"]:hover::after {
  animation: tooltips-vert 150ms ease-out forwards;
}
[tooltip][flow^="left"]:hover::before,
[tooltip][flow^="left"]:hover::after,
[tooltip][flow^="right"]:hover::before,
[tooltip][flow^="right"]:hover::after {
  animation: tooltips-horz 150ms ease-out forwards;
}



body, body * {
  font-family: var(--primary-font);
}

body {
 font-size: 17px;
}

p, p *, .p, .p * {
 font-family: var(--primary-font) !important;
 font-size: 17px !important;
}


h1, .h1, h1 *, .h1 * {
	font-family: var(--secondary-font);
  font-size: clamp(40px, 3vw, 56px) !important;
	text-transform: uppercase;
	letter-spacing: 0.21em;
}

h2, .h2, h2 *, .h2 * {
	font-family: var(--secondary-font);
  font-size: clamp(25px, 2vw, 40px) !important;
	text-transform: uppercase;
	letter-spacing: 0.15em;
	margin: 0;
  padding: 0;	
}

body.doc-text #page-content h2, body.doc-text #page-content .h2, 
body.doc-text #page-content h2 *, body.doc-text #page-content .h2 * {
 font-family: var(--primary-font);
}


h3, .h3, h3 *, .h3 *
 {
 font-size: clamp(23px, 2vw, 28px) !important;
 font-weight: 400;
 line-height: 1.3;
 letter-spacing: 0.1em;
}

h4, .h4, h4 *, .h4 *,
body.doc-text #page-content h2, body.doc-text #page-content .h2, 
body.doc-text #page-content h2 *, body.doc-text #page-content .h2 * {
 font-size: clamp(15px, 1vw, 18px) !important;
}

h5, .h5, h5 *, .h5 *,
body.doc-text #page-content h3, body.doc-text #page-content .h3, 
body.doc-text #page-content h3 *, body.doc-text #page-content .h3 * {
 font-size: 15px !important;
}

h6, .h6, h6 *, .h6 * {
 font-size: clamp(11px, 1vw, 12px) !important;
}

.w-filter-item-values *  {
 font-size: clamp(15px, 1vw, 17px) !important;
 font-weight: 400;
 line-height: 1.3;
 letter-spacing: 0.1em; 
 margin: 0;
}


.hide {display: none !important;}

.upper, .upper * {text-transform: uppercase;}

.underline, .underline * {text-decoration: underline;}

.bold, .strong, .bold *, .strong * {font-weight: 600 !important;}

.stretch, .stretch * {
	letter-spacing: 0.4em !important; 
	font-family: var(--primary-font) !important;
	text-transform: uppercase;
	font-weight: 500;
}

.h4.stretch, .h4.stretch *, h4.stretch, h4.stretch * {
	letter-spacing: 0.6em !important; 
}

.h5.stretch, .h5.stretch *, h5.stretch, h5.stretch * {
	letter-spacing: 0.5em !important;
	line-height: 1.5;
}

.font-primary, .font-primary { font-family: var(--primary-font);}
.font-secondary, .font-secondary { font-family: var(--secondary-font);}

.l-section.color_primary,
.l-section.color_secondary {
  color: #E2DCD1;
}

.gallery-with-margin-top .w-gallery-item:first-child {
 margin-top: 8rem;
}

nav:focus, nav *:focus {
 border: none !important;
 box-shadow: none !important;
 outline: none !important;
}

.w-toplink:not(.w-btn) {
  text-align: center;
  border-radius: 0.3rem;
  color: var(--cl-kupfer) !important;
	background: var(--cl-typo);
  line-height: 30px;
  height: 30px;
  width: 30px;
	margin: 0;
}

.w-html {
 line-height: 1.8;
}

.wpb_text_column ul {
	margin-left: 1.5rem;
	list-style-type: square;
}
.wpb_text_column ul li {padding-left: 0.5rem;}

#header-logo, #header-logo img {
 height: 23vh !important;
 width: auto !important;
}

#header-overlay {
 transform: none !important;
}

header .w-nav-control:not(.active) .w-nav-icon {
	opacity: 0;
	overflow: hidden;
	width: 0;
	height: 0;
	font-size: 0;
}	

header .w-nav-control:not(.active):before{
	content: 'MENU';
	letter-spacing: 0.5em;
	font-weight: bold;
}	

header .w-nav-control.active {
	
}	


.w-image img, 
.w-image picture {
  object-fit: inherit;
}

/* 
header.sticky .l-subheader.at_middle {
 background: transparent;
} */

@media screen and (min-width: 1921px) {
 :root {
 --site-content-width: 90vw !important;
 }
}

@media screen and (max-width: 1920px) {
	body {
	 font-size: 13px;
	 font-family: var(--primary-font);
	}
	
	p, p *, .p, .p * {
	 font-size: 13px !important;
	 font-family: var(--primary-font);
	}
	
	h1, .h1, h1 *, .h1 * {
	 font-size: clamp(26px, 2vw, 34px) !important;
	}

	h2, .h2, h2 *, .h2 * {
	 font-size: clamp(22px, 1.5vw, 30px) !important;
	}

	h3, .h3, h3 *, .h3 * {
		font-size: clamp(19px, 1vw, 20px) !important;
	}

	h4, .h4, h4 *, .h4 *,
	body.doc-text #page-content h2, body.doc-text #page-content .h2, 
	body.doc-text #page-content h2 *, body.doc-text #page-content .h2 * {
	 font-size: clamp(11px, 1vw, 15px) !important;
	}		
	
	h4.stretch, .h4.stretch, h4.stretch *, .h4.stretch * {
	 letter-spacing: clamp(0.3em, 1vw,0.6em) !important;
	}			
	
	h5, .h5, h5 *, .h5 *,
	body.doc-text #page-content h3, body.doc-text #page-content .h3, 
	body.doc-text #page-content h3 *, body.doc-text #page-content .h3 * {
		font-size: 10px !important;
	}
	
	.h5.stretch, .h5.stretch *, h5.stretch, h5.stretch * {
		letter-spacing: clamp(0.2em, 1vw,0.5em) !important;	
	}
	
	h6, .h6, h6 *, .h6 * {
	 font-size: 10px !important;
	}	
	
	.stretch, .stretch * { letter-spacing: 0.2em !important;}
	
}

.gallery-img-indented {
 margin-left: 10vw;
 margin-top: -10vh;
}

.w-btn-wrapper {margin: 0.3vw 0;}
.w-btn, .w-btn-label {
	cursor: pointer;
	font-size: inherit !important;
}


.w-btn.wish.active {
	background: var(--color-content-secondary);
  border-color: var(--color-content-secondary);
  color: var(--color-alt-content-text) !important;
}

/* Langer Pfeil links */

.us-btn-style_1 {
 position: relative;
 font-size: clamp(11px, 1vw, 24px) !important;
 white-space: nowrap; 
 padding-left: calc(7vw + 3.5rem) !important;
 transition: all 0.3s ease;
 -moz-transition: all 0.3s ease;
 -webkit-transition: all 0.3s ease;
 text-decoration: underline;
}

.us-btn-style_1::before, .us-btn-style_1::after {
 content: '';
 position: absolute;
 top: 50%;
 left: 0;
 width: 7vw;
 height: 1px;
 background-color: var(--cl-typo);
 transform: translateY(-50%);
 transition: all 0.3s ease;
 -moz-transition: all 0.5s ease;
 -webkit-transition: all 0.5s ease;
}

.us-btn-style_1::after {
 border-right: 1px solid var(--cl-typo);
 border-bottom: 1px solid var(--cl-typo);
 background-color: transparent;
 left: 7vw;
 height: 7px;
 width: 7px;
 transform: translate(-100%, -50%) rotate(-45deg);
}

/* .us-btn-style_1:hover {
 padding-left: calc(7vw + 3.5rem + 2rem) !important;
} */

.us-btn-style_1:hover::before {
 width: calc(7vw + 1.5rem);
 background-color: var(--cl-gold);
}

.us-btn-style_1:hover::after {
 border-right: 1px solid var(--cl-gold);
 border-bottom: 1px solid var(--cl-gold);
 left: calc(7vw + 1.5rem);
 transform: translate(-100%, -50%) rotate(-45deg);
}

section.color_alternate .us-btn-style_1:hover {
 color: var(--cl-kupfer) !important;
}

section.color_alternate .us-btn-style_1:hover::after {
 border-right: 1px solid var(--cl-kupfer);
 border-bottom: 1px solid var(--cl-kupfer);
}

section.color_alternate .us-btn-style_1:hover::before {
 background-color: var(--cl-beige);
}


#basket-btn-container {
 display: none;
}

#basket-btn-container.show {
 display: flex;
 align-items: center; 
}


#basket-btn-container p {
 margin-bottom: 0;
 color: var(--cl-mittelgrau);
 font-size: 14px;
 margin-right: 0.33rem;
}

.img-neg-margin-top {
 margin-top: -10vh;
}

.request-box a {
 font-size: 19px;
 line-height: 1.28;
 letter-spacing: 2px;
 text-transform: uppercase;
 display: block;
 margin-bottom: 20px;
}


body.boutique .floating-buttons {
 display: none;
}


.header_hor .l-header.pos_fixed ~ .l-main > .l-section:first-of-type > .l-section-h, .header_hor .l-header.pos_fixed ~ .l-main > form > .l-section:first-of-type > .l-section-h, .header_hor .l-header.pos_static.bg_transparent ~ .l-main > .l-section:first-of-type > .l-section-h, .header_hor .l-header.pos_static.bg_transparent ~ .l-main > form > .l-section:first-of-type > .l-section-h {
	padding-top: 0;
}

/* Home */

section.hero > .l-section-h, 
section.hero > .l-section-h > .g-cols {
  height: 100%;
}

section.hero > .l-section-h > .g-cols {
	width: 100%;
	overflow: hidden;
}

section.hero .logo {
	width: 21vw;
	max-width: 538px;
	min-width: 200px;
}


body.state_mobiles section.hero .logo {
	min-width: 50vw;
}

body:not(.state_tablets):not(.state_mobiles) section.hero .logo {
	margin-left: auto;
  margin-right: auto;	
}

body section.hero {
  aspect-ratio: 25/9 !important;
}

body.state_tablets section.hero {
  aspect-ratio: 21/9 !important;
}
body.state_mobiles section.hero {
  aspect-ratio: 3/2 !important;
}

body section.hero.small {
  aspect-ratio: 40/9 !important;
}
body.state_laptops section.hero.small {
  aspect-ratio: 32/9 !important;
}
body.state_tablets section.hero.small {
  aspect-ratio: 26/9 !important;
}
body.state_mobiles section.hero.small {
  aspect-ratio: 16/9 !important;
}

body:not(.state_laptops):not(.state_tablets):not(.state_mobiles) .valign-justify {
	aspect-ratio: 19/9 !important;
	
}

.valign-justify .vc_column-inner > .wpb_wrapper .w-vwrapper > .w-hwrapper{
	flex-direction: column;
}




body.state_mobiles .valign-justify {
	padding-top: 0;
	padding-bottom: 0;
}

body.state_mobiles .valign-justify .l-section-h,
body.state_mobiles .valign-justify .g-cols,
body.state_mobiles .valign-justify .vc_column_container,
body.state_mobiles .valign-justify .vc_column-inner,
body.state_mobiles .valign-justify .vc_column-inner > .wpb_wrapper {
	min-height: 100vh;
}

body.state_mobiles .valign-justify .vc_column-inner > .wpb_wrapper{
	display: flex;
  align-items: flex-end;
	padding-top: 2rem;
	padding-bottom: 2rem;
	min-height: (100vh - 4rem);
}

body.state_mobiles .valign-justify.reverse .vc_column-inner > .wpb_wrapper{
  align-items: flex-start;
}

.l-section.height_huge { padding-top: 7rem; padding-bottom: 7rem;}
.l-section.height_large { padding-top: 5.5rem; padding-bottom: 5.5rem;}
.l-section.height_medium { padding-top: 4rem; padding-bottom: 4rem;}
.l-section.height_small { padding-top: 2rem; padding-bottom: 2rem;}


@media screen and (max-width: 1920px) {

	.l-section.height_huge { padding-top: 5.5rem; padding-bottom: 5.5rem;}
	.l-section.height_large { padding-top: 3.5rem; padding-bottom: 3.5rem;}
	.l-section.height_medium { padding-top: 2rem; padding-bottom: 2rem;}
	.l-section.height_small { padding-top: 1rem; padding-bottom: 1rem;}
	
}


/* Shop */

.w-filter.layout_ver .w-filter-item {
 margin-bottom: 0;
}

.cat-current-txt {
 font-size: clamp(30px, 2vw, 65px);
 font-weight: 300;
 line-height: 1.4;
 margin-bottom: 3rem;
 position: relative;
}

.cat-current-txt::before { 
 content: '';
 position: absolute;
 bottom: -1rem;
 left: 0;
 width: 100%;
 height: 1px;
 background-color: var(--cl-mittelgrau);
}

.filter-header {
 margin-bottom: 1.5rem !important;
}

.w-filter.layout_hor .w-filter-item {width: 100%;}

.filter-header .vc_column-inner .wpb_wrapper {
	/*
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	*/
}

#product-cat-filter {
	align-items: center;
  display: flex;
}

.filter-header {
	position: sticky;
  top: var(--header-sticky-height);
  z-index: 5;
  background-color: var(--color-content-bg);
  padding-top: 2vw;
}

.filter-header .vc_column-inner .wpb_wrapper .produkte-counts {
	color: var(--Mittelgrau, #797979);
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	line-height: 2;
	white-space: nowrap;
}

#filter-order {
 align-items: center;
}

#filter-order select, #filter-order select * {
	background: transparent !important;
	box-shadow: none !important;
	text-align: right;
	width: 190px;
	margin: 0;
	padding-left: 0;		
	white-space: nowrap;
	cursor: pointer;
}


#product-cat-filter .w-filter-item-values {
	display: flex;
  flex-direction: row;
  flex-wrap: wrap;
	gap: 1rem 2em;
}

#product-cat-filter input,
#product-cat-filter .w-filter-item-title,
#product-cat-filter .w-filter-item-reset {
 display: none;
}

#product-cat-filter input ~ .w-filter-item-value-label {
 position: relative;
}

#product-cat-filter input:checked ~ .w-filter-item-value-label {
 font-weight: 600;
}

#product-cat-filter input ~ .w-filter-item-value-label:hover:after,
#product-cat-filter input:checked ~ .w-filter-item-value-label:after {
 content: '';
 position: absolute;
 left: 0;
 bottom: -0.2rem;
 width: 100%;
 height: 1px;
 background-color: var(--cl-typo);
}

#product-cat-filter .w-filter-item-values .w-filter-item-value {white-space: nowrap;}

/*
@media screen and (max-width: 1300px){
	#product-cat-filter .w-filter-item-values .w-filter-item-value {flex: 0 0 25%;}
}
@media screen and (max-width: 1000px){
	#product-cat-filter .w-filter-item-values .w-filter-item-value {flex: 1 1 33%;}
}
@media screen and (max-width: 768px){
	#product-cat-filter .w-filter-item-values .w-filter-item-value {flex: 1 1 50%;}
}
@media screen and (max-width: 500px){
	#product-cat-filter .w-filter-item-values .w-filter-item-value {flex: 1 1 100%;}
}
*/

body.state_mobiles .filter-header .vc_column-inner .wpb_wrapper {
  justify-content: flex-start;
	flex-direction: row;
}

.w-grid-list article {
 overflow: hidden;
 position: relative;
}

.w-grid-list .w-grid-item h2 {
 font-size: clamp(20px, 2vw, 32px) !important;
}

.w-grid-list .w-grid-item .post_image img {
 transition: all 0.6s ease;
}

.w-grid-list .w-grid-item:hover .post_image img {
 transform: scale(1.05);
 filter: none;
}

.project-img-hover-container {
 position: absolute !important;
 bottom: 0;
 left: 0;
 width: 100%;
 height: 115px;
 background-color: var(--cl-typo);
 padding: 1rem 1rem 1rem 2rem;
 transform: translateY(calc(100% + 60px));
 transition: all 0.6s ease;
 }
 .project-img-hover-container * { color: var(--cl-beige);}

.w-grid-list article:hover .project-img-hover-container {
 transform: translateY(0%);
}
/*
.project-img-hover-container::before {
 content: URL('/wp-content/uploads/2024/12/projekt-bg-01.svg');
 position: absolute;
 width: 100%;
 height: auto;
 transform: translateY(-78%);
 top: 1px;
 left: 0;
 background-position: center bottom;
}
*/
.project-img-hover-container::before {
	content: '';
	position: absolute;
	top: 1px;
	left: 0;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 0.2;
	background-image: url('/wp-content/uploads/2025/06/projekt-bg-dark.svg');
	background-size: 100% auto;
	background-repeat: no-repeat;
	background-position: center bottom;
	transform: translateY(-100%);
}

.product-grid-brand {
 margin-bottom: 20px !important;
}

.product-grid-brand h5 {
 font-size: 16px !important;
 font-weight: 400;
 line-height: 1.28;
 letter-spacing: 2px;
 text-transform: uppercase;
}

.product-grid-title, .product-grid-title * {
	font-family: var(--h2-font-family,inherit) !important;
	text-transform: uppercase;
}


.product-grid-title a span {
 display: block;
 margin-bottom: 0 !important;
 line-height: 1.3;
}

.product-grid-price {white-space: nowrap;}

.product-grid-price .regular,
.product-grid-price .shipping {
 color: var(--cl-mittelgrau);
 font-size: 14px;
 font-weight: 400;
 line-height: 2.07
}

.product-grid-price .shipping {display: none;}


@media screen and (max-width: 1920px){
	body section.hero.small {
		aspect-ratio: 44/9 !important;
	}
	body section.hero.small > .l-section-img {
		background-position: center 64%;
	}
	
}

@media screen and (min-width: 1701px) {body:not(.single-produkte) .layout_194 .w-grid-list {--columns: 5;}}
@media screen and (max-width: 1700px) {body:not(.single-produkte) .layout_194 .w-grid-list {--columns: 4;}}
@media screen and (max-width: 1299px) {body:not(.single-produkte) .layout_194 .w-grid-list {--columns: 3;}}
@media screen and (max-width:901px) { body:not(.single-produkte) .layout_194 .w-grid-list {--columns: 2; --gap: 0.5rem;}}
@media screen and (max-width:461px) { body:not(.single-produkte) .layout_194 .w-grid-list {--columns: 1;}}


.w-toplink:not(.w-btn) {
 border-radius: 0;
}

#moodboards .img-indend-left {
 margin-left: calc(var(--site-content-width) * 0.08333);
}


footer .w-menu a, footer #menu-footer-left a, footer #menu-footer-menu a {
 text-decoration: underline; 
 line-height: 1;
 white-space: nowrap;
}

footer #menu-footer-menu li {
 display: inline-block;
 margin: 0 0.5rem;
}

footer #footer-middle .menu li {
 text-align: left;
}



.w-nav.type_mobile.m_layout_fullscreen .w-nav-control.active + .w-nav-list.level_1,
nav.type_mobile.m_layout_fullscreen.m_effect_aft .w-nav-list.level_1 {
 background-color: var(--color-content-primary);
}
.w-nav.type_mobile.m_layout_fullscreen .w-nav-control.active + .w-nav-list.level_1,
nav.type_mobile.m_layout_fullscreen.m_effect_aft .w-nav-list.level_1{
 background-image: url("/wp-content/uploads/2025/10/Herold-Kolibri-full.svg");
 background-size: contain;
 background-repeat: no-repeat;
 background-position: center;
}

.w-nav-control.active {
 z-index: 100;
 position: relative;
}

.w-nav-control.active .w-nav-icon {
 color: var(--cl-kupfer);
 transition: all 0.3s ease;
}

.w-nav.type_mobile.m_layout_fullscreen .w-nav-list.level_1 {
 padding: 1.5rem !important;
}

.w-nav.type_mobile.m_layout_fullscreen .w-nav-list.level_1 .w-nav-close {
 display: none;
 }

.w-nav-control.active .w-nav-icon:hover {
 color: var(--cl-weiss);
}


header .w-nav.type_mobile.m_layout_fullscreen .w-nav-list.level_1 > li:first-child {
  margin-top: 5em;
}


header .w-nav-list.level_1 {
	text-align: center;
}

.w-socials-item .w-socials-item-link i {
 font-size: 1.5rem !important;
 color: var(--cl-typo);
}

header .menu-item-object-us_page_block {
 font-family: var(--primary-font);
}

header .menu-item-object-us_page_block a {
 color: var(--cl-kupfer) !important;
 position: relative;
}

header .menu-item-object-us_page_block .menu-item {
	line-height: 1.5em;
}

header .menu-item-object-us_page_block .current-menu-item a {
 color: var(--cl-weiss) !important;
}

.menu-item-object-us_page_block #menu-middle  a:hover::before {
 width: 100%;
}

.menu-item-object-us_page_block a:hover {
 color: var(--cl-weiss) !important;
}


.menu-item a {cursor: pointer;}

@media screen and (max-width: 1024px){

 .img-neg-margin-top {
  margin-top: 1.5rem;
 }

 .gallery-img-indented {
  margin-top: 1.5rem;
  margin-left: 0;
 }

}

#kontakt h3 {
 max-width: 40ch;
}


#service .w-vwrapper .w-image {
 min-width: 25%;
}

#service .w-vwrapper .w-image img {
 height: 100px;
 width: 100px;
 margin: 0 auto;
}

#service .w-vwrapper .w-image .w-image-title{
 font-size: clamp(16px, 1vw, 24px);
 font-weight: 400;
 line-height: 0.87;
 letter-spacing: 2px;
 text-transform: uppercase;
}




@media screen and (max-width: 767px){
 .header_hor .l-header.pos_static.bg_solid ~ .l-main .l-section.full_height:first-of-type {
  min-height: calc( 100vh - var(--header-height) );
  height: calc( 100vh - var(--header-height) );
 }


 header.sticky .l-subheader.at_middle {
  background: var(--cl-weiss);
 }

 .us-btn-style_1 {
  padding-left: calc(15vw + 1.5rem) !important;
 }

 .us-btn-style_1::before {
  width: 15vw;
 }

 .us-btn-style_1::after {
  left: 15vw;
 }
}

@media screen and (max-width: 600px){
 .gallery-with-margin-top .w-gallery-item:first-child {
 margin-top: 0;
 }

 .img-neg-margin-top {
 margin-top: 1.5rem;
 }

 .gallery-img-indented {
 margin-left: 0;
 margin-top: 1.5rem;
 }

 #footer-bottom {
 text-align: center;
 }

 .w-hwrapper.align_right {
 justify-content: center;
 margin-top: 1.5rem;
 }
}

/* Project Details */

body.project-details .owl-carousel img {
 max-height: 80vh;
 width: auto;
 margin: 0 auto;
 text-align: center;
} 

.owl-carousel.owl-drag .owl-item article {
 text-align: center;
}
/* 
.w-grid.type_carousel .owl-item {
 width: auto !important;
} */

/* @media screen and (max-width: 1920px){
 body.project-details .owl-carousel img {
  max-height: 70vh;
 }
} */

/* 
body.project-details .owl-carousel .owl-item.active {}

body.project-details .owl-carousel .owl-item.active.center {
 width: 50vw !important;
} */
/* 
.owl-carousel.owl-drag .owl-item {
 width: 66.666vw !important;
}

 */

.txt-testimonial {
 font-size: clamp(20px, 2vw, 40px);
 font-style: italic;
 font-weight: 300;
 line-height: 1.4;
 margin-bottom: 3rem;
}

.txt-testimonial-author {
 font-size: clamp(15px, 1vw, 19px);
 font-style: normal;
 font-weight: 400;
 line-height: 1.28;
 letter-spacing: 2px;
 text-transform: uppercase;
 }

/* Produkte Übersicht */

.layout_194 .w-grid-item-h {
	background-color: var(--color-content-bg-alt) !important;
}

.layout_194.alternative .w-grid-list .w-vwrapper.product-info-container .product-grid-title,
.layout_194.alternative .w-grid-list .w-vwrapper.product-info-container .product-grid-subcat {
	-webkit-transform: scale(0.9);
	transform: scale(0.9);
}


.layout_194.alternative .product-grid-subcat, .layout_194.alternative .product-grid-subcat * {
	font-size: 12px !important;
  letter-spacing: 0.33em !important;
  line-height: 1.5;
}

@media screen and (max-width: 1920px) {
	
	.layout_194.alternative .product-info-container {
		padding: 0.5rem !important;	
	}
	
	
	.layout_194.alternative .w-grid-list  {
		grid-template-columns: repeat(auto-fit, minmax(170px, 170px));
	}
	
	.layout_194.alternative .w-grid-list .w-grid-item {
		max-width: 170px;
	}

	.layout_194.alternative .w-grid-list .w-vwrapper.product-info-container .product-grid-title,
	.layout_194.alternative .w-grid-list .w-vwrapper.product-info-container .product-grid-subcat {
		-webkit-transform: scale(0.8);
		transform: scale(0.8);
	}

	.layout_194.alternative .product-grid-subcat, .layout_194.alternative .product-grid-subcat * {
		font-size: 11px !important;
		letter-spacing: 0.33em !important;
		line-height: 1.5;
		overflow: hidden;
	}
}

/* Product detail */

.item .txt-wrap .price {
  flex-direction: column;
}

body.single-produkte section#pdetail > .l-section-h{
 padding-top: 0 !important;
}

body.single-produkte section#pdetail .sep-pdetail-top {
 padding-top: var(--header-height);
}

body.single-produkte:not(.state_tablets):not(.mobiles) section#pdetail .product-info #product-content {min-height: 63vh;}

xbody.single-produkte section#pdetail .product-info > .vc_column-inner > .wpb_wrapper {
	display: flex;
	flex-direction: column;
	align-items: space-between;
	justify-content: space-between;
	gap: 4rem;
	-webkit-transition: top 0.6s linear;
	transition: top 0.6s linear;
}

body.single-produkte section#pdetail .price {
 display: block;
}

body.single-produkte section#pdetail .price .regular {
 margin-right: 5px;
}

body.single-produkte section#pdetail .price,
body.single-produkte section#pdetail .price *,
body.single-produkte section#pdetail .price {
 color: var(--cl-mittelgrau);
}

body.single-produkte .wish span img.active{
 display: none;
}

body.single-produkte .wish.active span img:not(.active) {
 display: none;
}

body.single-produkte .wish.active span img.active{
 display: initial;
}

body.single-produkte .products-box {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	gap: 2rem;
}

body.single-produkte .products-box .item {
	position: relative;
	display: flex;
	flex-direction: column;
	flex: 0 1 25%;
	min-width: 120px;
	background-color: #fff;
}

body.single-produkte .products-box .item .img-wrap {
	display: flex;
  width: 100%;
  aspect-ratio: 3/4;
  overflow: hidden;
  position: relative;
}

body.single-produkte .products-box .item .img-wrap img {
 position: relative;
 top: 50%;
 left: 50%;
 object-fit: cover;
 transform-origin: center;
 transform: translate(-50%, -50%);
 width: 100%;
 height: auto;
}

body.single-produkte .products-box .item .txt-wrap {
	padding: 1.5rem;
	text-align: center;	
	display: flex;
 flex-direction: column;
 gap: 0.5rem 0;
}


body.single-produkte .products-box h5{
	padding: 0;
	margin: 0 0 0.5rem 0;
	line-height: 1 !important;
	font-size: 85% !important;
}

body.single-produkte .products-box h4{
	padding: 0;
	margin: 0;	
	line-height: 1 !important;
	font-size: 95% !important;
}

body.single-produkte .products-box p{
	font-size: 80% !important;
}

body.single-produkte .descr .content-more {
	display: inline-block;
	overflow: hidden;
	max-height: 0;
	transition: max-height 0.9s ease;
}
body.single-produkte .descr.open .content-more {max-height: 2000px;}


@media screen and (max-width: 1920px) {
	body.single-produkte section#pdetail .product-info > .vc_column-inner > .wpb_wrapper {gap: 2rem;}
}

@media screen and (max-width: 1200px){
	body.single-produkte .products-box .item {flex: 0 1 50%;}
}

/*Produkt Detail Images */

body.single-produkte .product-images {
 display: flex;
 flex-direction: column;		
}

body.single-produkte .product-images .img-wrap {
	line-height: 0;
  padding-bottom: 0;
}

body.single-produkte .product-images img {
 display: inline-block;
 width: 100%;
}


/* Akkordion */

body.single-produkte .akkordion {
	margin-top: 2rem;
}

.akkordion > .item {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.akkordion > .item > .head {
	display: flex;
	justify-content: space-between;	
	position: relative;
	padding-bottom: 0.5rem;
	border-bottom: 1px solid var(--color-content-text);
	cursor: pointer;
}
.akkordion > .item > .head:after {
	content: '\f078';
	display: flex;
	align-items: center;
	justify-content: flex-end;
	font-family: fontawesome;
	font-size: 14px;
	transition: all 0.6s ease;
	transform-origin: center;
	transform: rotate(0deg);
}

.akkordion > .item > .content {
	display: inline-block;
	overflow: hidden;
	max-height: 0;
	transition: max-height 0.6s ease;
}

.akkordion > .item > .content > .inner {
  padding: 1rem 0;
}

.akkordion > .item.open {
 border-bottom: 1px solid var(--cl-typo);
 margin-bottom: 0.5rem;
}

body.single-produkte .akkordion > .item > .content h2 {
 font-weight: 600;
 line-height: 1.8;
 margin-bottom: 0 !important;
 letter-spacing: 1px;
 text-transform: initial;
}

.akkordion > .item.open > .content { max-height: 1000px;}
.akkordion > .item.open > .head:after {transform: rotate(180deg);}

@media screen and (max-width: 900px){
 body.single-produkte h2, body.single-produkte h2 * {
   margin-bottom: 0.5rem !important;
 }

 .product-info .w-hwrapper {
  display: block;
 }

 .product-info .w-hwrapper > div,
 .product-info .w-hwrapper .w-btn {
  margin-top: 1rem;
  width: 100%;
  display: block;
 }

 body.single-produkte section#pdetail .price {
  display: block;
 }

 .akkordion > .item.open > .content > .inner {
  padding: 1rem 0;
 }

 body.single-produkte section#pdetail .us-btn-style_2 {
  padding: 1.2rem 1.6rem !important;
 }

 #durchatmen-gallery.w-gallery {
 margin-left: 0;
}

}

/* Wishlist */

.wish-btn,
.basket-btn{
	z-index: 1;
}

.wish-btn {
	content: '';
	position: absolute;
	right: 10px;
	top: 10px;
	cursor: pointer;
	display:flex;
	align-items: flex-start;
	justify-content: flex-end;
	width: 38px;
	height: 38px;
}

.wish-btn img {
	position: absolute;
	right: 0;
	top: 0;	
	z-index: 0;	
	display: inline-block;
	width: 100%;
	height: auto;
	width: 24px;
}

.wish-btn.active img {
	filter: invert(20%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(50%) contrast(100%);
}


.basket-btn{
	position: relative;
  display: flex;
	cursor: pointer;
  padding: 0.2rem 1rem;	
	
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
}



header:not(.bg_solid):not(.sticky) .basket-btn {
	color: var(--color-alt-content-text) !important;
	border: 1px solid var(--color-alt-content-text);
	background-color: rgba(162, 93, 66, 0) !important;
}

header:not(.section-first-hero):not(.sticky) .basket-btn {
	color: var(--cl-kupfer) !important;
	border: 1px solid var(--cl-kupfer);
	background-color: rgba(162, 93, 66, 0) !important;
}

header.sticky .basket-btn,
header.bg_solid .basket-btn {
	border: 1px solid var(--cl-kupfer);
}

header:not(.bg_solid):not(.sticky) .basket-btn:hover,
header.bg_solid .basket-btn:hover {
	color: var(--cl-kupfer)!important;
	background-color: var(--color-content-bg) !important;
}


header:not(.bg_solid):not(.sticky) .w-nav-control:not(.active):before {
	/*color: var(--color-alt-content-text);*/
}

header:not(.section-first-hero):not(.sticky) .w-nav-control:not(.active):before,
header:not(.bg_solid):not(.sticky) .w-nav-control:not(.active):hover:before {
	color: var(--cl-kupfer);
}


/* 
background-image: url(/wp-content/uploads/2025/01/favorit_light.svg); 
/wp-content/uploads/2025/01/favorit_light_active.svg

/wp-content/uploads/2025/01/favorit.svg" alt="Als Favorit vormerken" /><img class="active" src="/wp-content/uploads/2025/01/favorit_active.svg


/wp-content/uploads/2025/11/favorit_copper.png
/wp-content/uploads/2025/11/favorit_copper_solid.png

/wp-content/uploads/2025/11/favorit_light_solid.png
/wp-content/uploads/2025/11/favorit_light.png

*/

.basket-btn .txt{
	display: flex;
  white-space: nowrap;
  position: relative;
  padding: 0 28px 0 0;
  margin: 0;
  text-align: right;
  justify-content: flex-end;
}

.basket-btn .img,
.wish-btn .img {
	position: absolute;
	right: 0;
	margin-right: 0.7rem;
	z-index: 0;
	width: 18px;
	top: 50%;
  transform: translate(0%, -50%);	

  width: 17px;
  height: 17px;
  background-size: contain;
	background-repeat: no-repeat;
}

.wish-btn .img {
  width: 24px;
  height: 24px;
}

.w-grid .wish-btn .img {

}


header.sticky .basket-btn .img,
header.bg_solid .basket-btn .img,
.wish-btn .img {
	background-image: url(/wp-content/uploads/2025/11/favorit_copper.png);
}
header.sticky .basket-btn:hover .img,
header.bg_solid .basket-btn:hover .img,
.wish-btn.active .img {
	background-image: url(/wp-content/uploads/2025/11/favorit_copper_solid.png);
}

header:not(.bg_solid):not(.sticky) .basket-btn .img {
	background-image: url(/wp-content/uploads/2025/11/favorit_light.png);
}

header:not(.bg_solid):not(.sticky) .basket-btn:hover .img,
header.bg_solid .basket-btn:hover .img {
	background-image: url(/wp-content/uploads/2025/11/favorit_copper_solid.png);
}

.basket-btn .cnt{
	position: absolute;
	z-index: 1;
	right: 0;
	bottom: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 12px;
  width: 12px;
	padding: 0;
	background-color: #f6f3ed;
	color: var(--cl-kupfer);
	border-radius: 50%;
	border: 1px solid rgba(162, 93, 66, 1);
	font-size: 8px;
	font-weight: 700;
}

body #basket {
	position: fixed;
	top: 0;
	right: 0;
	z-index: 200;
	height: 100vh;
	width: 100%;
	background-color: var(--color-content-primary);
	background-image: url("/wp-content/uploads/2025/10/Herold-Kolibri-full.svg");
	background-size: cover;
	background-repeat: no-repeat;
	background-position:  70%;
	color: var(--color-alt-content-text);
	overflow: auto;
	max-width: 0;
	transition: all 0.3s ease;
}

body #basket .txt-wrap * {
	color: var(--cl-weiss);
	margin: 0;
	padding: 0;
}
body #basket .txt-wrap > * {
	margin-bottom: 0.7rem;
}

body #basket .w-btn-wrapper{
	margin: 0;
}

body #basket .w-btn {
	width: 100%;
	min-width: 20vw;
 margin: 0 0 0.5rem 0;
	color: var(--cl-gold);
 text-transform: none;
 letter-spacing: 0;
}
	
body #basket.open {max-width: 30%;}

body #basket > .inner {
	display: flex;
	flex-direction: column;
	/*height: 100%;*/
	width: 100%;	
	/* padding: 4vw; */
}

body #basket > .inner > .head,
body #basket > .inner > .products > div,
body #basket > .inner > .w-btn-wrapper, 
body #basket > .inner > .w-btn {
 padding: 2vh 4vw;
}

body #basket > .inner > .head {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding-top: 8vh;
	gap: 3rem;
}

body #basket > .inner > .products .item {
 transition: background-color 0.3s ease;
 -webkit-transition: background-color 0.3s ease;
 -moz-transition: background-color 0.3s ease;
}

body #basket > .inner > .products .item:hover {
 background-color: var(--cl-mittelgrau);
}

body #basket > .inner > .head h2 {
 color: var(--cl-kupfer);
}

body #basket > .inner > .products h5 {
 font-size: clamp(14px, 1.5vw, 18px) !important;
 text-transform: uppercase;
 margin-bottom: 2rem;
 font-weight: 400;
 letter-spacing: 2px;
}

body #basket > .inner > .products h4 {
 font-weight: 400;
}

body #basket > .inner > .products .price, 
body #basket > .inner > .products .price *, 
body #basket .products > .price-total {
 line-height: initial;
 font-weight: 400;
 color: var(--cl-mittelgrau);
 transition: color 0.3s ease;
 -webkit-transition: color 0.3s ease;
 -moz-transition: color 0.3s ease;
}

body #basket .products > .price-total span {
 margin-right: 0.33rem;
}


body #basket > .inner > .products .item:hover .price span {
 color: var(--cl-typo);
}

body #basket > .inner > .products .price,
body #basket > .inner > .products .price * {
	color: var(--color-content-faded);
}


/* body #basket > .inner > .head :not(.close) {
	
} */

body #basket > .inner > .head .close {
	display: flex;
	width: 50px;
	justify-content: flex-end;
	align-items: center;
}
body #basket > .inner > .head .close img {
	object-fit: contain;
	margin-right: 0;
	transition: margin-right 0.3s ease;	
}

body #basket > .inner > .head .close:hover img {
	margin-right: -0.5rem;;
}

body #basket > .inner .wish-btn {
 right: 4vw;
 top: 2vh;
}

body #basket .products {
	display: flex;
 flex-direction: column;
 flex-wrap: nowrap;
}

body #basket .products > .item {
	position: relative;
 display: flex;
 flex-direction: row;
 flex-wrap: nowrap;
 gap: 4rem 2rem;
}

body #basket .products > .item > .img-wrap{
	display: flex;
	flex: 0 0 150px;
	aspect-ratio: 1/1;
 overflow: hidden;
}

body #basket .products > .item > .img-wrap img{
	width: 100%;
	height: 100%;
	object-fit: cover;
 transition: transform 0.6s ease;
 -webkit-transition: transform 0.6s ease;
 -moz-transition: transform 0.6s ease;
}

body #basket > .inner > .products .item:hover .img-wrap img{
 transform: scale(1.1);
}


body #basket .products > .item > .txt-wrap {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
 justify-content: flex-end;	 
}

body #basket > .inner > .w-btn {
 color: var(--cl-kupfer);
 border-color: transparent;
 text-decoration: underline;
 padding-top: 0;
 padding-bottom: 8vh;
 margin-top: 0;
}

body #basket > .inner > .w-btn:hover {
 color: var(--cl-weiss); 
}

@media screen and (max-width: 1600px){
	body #basket.open {max-width: 40%;}
	body #basket .products > .item > .img-wrap{flex: 0 0 130px;}
}
@media screen and (max-width: 1200px){
	body #basket.open {max-width: 50%;}
	body #basket .products > .item > .img-wrap{flex: 0 0 120px;}
}
@media screen and (max-width: 900px){
	body #basket.open {max-width: 60%;}
	body #basket .products > .item > .img-wrap{flex: 0 0 100px;}	
}
@media screen and (max-width: 768px){
	body #basket.open {max-width: 75%;}
}
@media screen and (max-width: 550px){
	body #basket.open {max-width: 320%;}
}
	
@media screen and (max-width: 400px){
	.basket-btn { padding: 0.1rem 0.4rem;}
	
	header .basket-btn,
	header.sticky .basket-btn,
	header.bg_solid .basket-btn	{border: none !important;}
	
	.basket-btn .txt{
		font-size: 10px;
	}
}

@media screen and (max-width: 350px){

	.basket-btn .txt{
		max-width: 0;
		overflow: hidden;
	}
}

.request-box {
 margin-top: 4rem;
}


/* Kaufanfrage Popup & CF7 */

.shop-request {
	position: fixed;
	top: -100%;
	left: -100%;
	z-index: 1002;
	width: 100%;
	max-width: 0;
	max-height: 0;
	min-width: 0;
	overflow-x: hidden;
	display: flex;
	
	padding: 0;
	margin: 0;
	background-color: rgba(255, 255, 255, 0.99);
	box-shadow: 0 .5em .5em -.5em rgba(0, 0, 0, 0.35);

	transition: max-width 0.2s ease, max-height 0.2s ease;
}

.shop-request.active {
	top: 50%;
	left: 50%;
	max-width: 500px;
	min-width: 33vw;
	max-height: 98vh;
	transform: translate(-50%, -50%);	
}

.shop-request form {margin: 3rem 3rem 0rem 3rem;}

.shop-request form h2 {
 text-transform: none !important;
 text-align: center;
}

.shop-request .close {
	position: absolute;
	z-index: 100;
	right: 1rem;
	top: 1rem;
	display: inline-block;	
	width: 48px;
	height: 48px;
}
.shop-request .close:before,
.shop-request .close:after {
	content: '';
	position: absolute;
	top: 15%;
  right: 50%;	
	display: block;	
	font-size: 0;
  line-height: 0;	
	background-color: var(--cl-typo);
	width: 1px;
	height:	30px;
}
.shop-request .close:before {transform: rotate(45deg);}
.shop-request .close:after {transform: rotate(-45deg);}

@media screen and (max-width: 1920px){
	.shop-request form {
		margin: 2rem 2rem 0rem 2rem;
	}

	.shop-request .close:before,
	.shop-request .close:after {
		height:	22px;
	}	
}	


/* Kontaktformular */

:-webkit-input-placeholder {opacity: 0.6; color: var(--color-content-text);}
:-moz-placeholder {opacity: 0.6;color: var(--color-content-text);}
:-ms-input-placeholder {opacity: 0.6;color: var(--color-content-text);}
:-moz-placeholder {opacity: 0.6;color: var(--color-content-text);}

input:focus:-webkit-input-placeholder {opacity: 0.3; color: var(--color-content-text);}
input:focus:-moz-placeholder {opacity: 0.3;color: var(--color-content-text);}
input:focus:-ms-input-placeholder {opacity: 0.3;color: var(--color-content-text);}
input:focus:-moz-placeholder {opacity: 0.3;color: var(--color-content-text);}


.cf7form {
	display: block;
	width: 100%;
	max-width: 1000px;
	margin: 0 auto 2rem auto;
	font-size: 0;
}
.cf7form > div {
	clear: both;
 display: block;
	width: 100%;
	margin: 0;
	text-align: left;
	position: relative;
	color: var(--color-content-text);
}

.cf7form > div.half {
 display: inline-block;
	width: 48%;
	width: calc(50% - 1rem);
	vertical-align: top;
}
.cf7form > div.mgn {
 margin-left: 2rem;
}
.cf7form p, .cf7form span {
	color: var(--color-content-text);
}
.cf7form > div:not(.half) + div,
.cf7form > div.nomgn {margin-left: 0 !important;}

.cf7form > div.label {
	margin-top: 3rem;
	text-transform: uppercase;
}
.cf7form > div.label, .cf7form > div.label * {
	font-weight: 500 !important;
}

.cf7form .wpcf7-form-control-wrap {margin-top: 0.5rem;}

input:focus, input:focus + .w-form-checkbox, textarea:focus, select:focus, .select2-container--focus .select2-selection {
  box-shadow: none;
}

.cf7form input[type="checkbox"], .cf7form input[type="radio"]{
 margin-right: 0.5rem;
 margin-top: 4px;
	box-shadow: none !important;
}

.cf7form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]), .cf7form textarea, .cf7form select {
	font-family: var( --primary-font);
	font-size: inherit;
	font-weight: normal;
	line-height: 1.2 !important;
	letter-spacing: 0;
	color: var(--color-content-text) !important;
	margin: 0 !important;
	margin-bottom: 1px !important;
	background-color: transparent !important;
	border: none;
	border-bottom: 1px solid #b7b7b7 !important;
	border-radius: 0;
	box-shadow: none;
	-webkit-transition: none;
	transition: none;
}

.cf7form textarea{
	height: 50px;
	min-height: 50px !important;
	max-height: 300px;
	min-width: 100%;
	max-width: 100%;
	background-color: transparent !important;
	color: var(--color-content-text) !important;
	resize: vertical !important;
}

.cf7form select {
 outline: none !important;
 -moz-appearance: none;
 -webkit-appearance: none;
 appearance: none;
 cursor: pointer;
	border: none !important;
	border-bottom: 1px solid #b7b7b7 !important;
 margin: 0 !important;
	padding-right: 2.5rem;
}

.cf7form select option{
	color: var(--color-content-text) !important;
 background-color: var(--color-content-bg) !important;
}

.cf7form select option:disabled {
	color: var(--color-content-text);
	opacity: 0.6 !important;
}
.cf7form select:focus option:disabled {
	opacity: 0.3 !important;
}

.cf7form select option {
	color: var(--color-content-text) !important;
 background: var(--color-content-primary) !important;
}
.g-cols.vc_row > .wpb_column.vc_column_container:last-child .cf7form select option {
	color: var(--color-content-text) !important;
 background: var(--color-content-secondary) !important;
}

.cf7form .select > span{
	position: relative;
	cursor:pointer;
}
.cf7form .select span:after {
	content: "\f078";
 position: absolute;
 z-index: 1;
 right: 0;
 top: 50%;
 font-family: fontawesome;
 background: transparent;
 padding: 0 0 10px 0;
 margin: 0;
 width: 25px;
 pointer-events: none;
 transform: translateY(-50%);
}

.cf7form .select span select:-ms-expand {
	display: none;
}

.cf7form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]):hover, .cf7form select:hover, .cf7form textarea:hover,
.cf7form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]):focus, .cf7form select:focus, .cf7form textarea:focus {
	box-shadow: none !important;
	border: none !important;
	border-bottom: 2px solid var(--color-content-text) !important;
	min-height: calc(var(--inputs-height) + 1px);
	margin-bottom: 0 !important;
}

.cf7form .select:hover span:after {
	 top: calc(50% - 1px);
}

.cf7form .select:focus > span:before,
.cf7form .select:hover > span:before {
	height: 98%;
	height: calc(100% - 2px);
}

.cf7form .check {
	margin: 2rem 0 1rem 0;
}
.cf7form .check > span.wpcf7-form-control-wrap {
	width: 40px;
	float: left;
}

.cf7form .check > p a {
	color: #f0f0f0;
}
.cf7form .check > p a:hover {
	color: var(--color-content-text);
}

.cf7form .check span.wpcf7-form-control{
	display: flex;
 flex-wrap: wrap;
	flex-flow: column;
}

.cf7form .check span.wpcf7-form-control-wrap span.wpcf7-list-item{
	position: relative;
	display: flex;
	flex: 1;
}

.cf7form .check input[type="checkbox"] + span.wpcf7-list-item-label,
.cf7form .check input[type="radio"] + span.wpcf7-list-item-label {
	color: var(--color-content-text);
	cursor: pointer;
 font-size: 14px;
}

.cf7form .check input[type="checkbox"],
.cf7form .check input[type="radio"] {
	height: 22px;
 width: 22px;
	margin-top: 0;
	margin-right: 1rem;
}

.cf7form .check .wpcf7-form-control.wpcf7-radio .wpcf7-list-item,
.cf7form .check input[type="checkbox"],
.cf7form .check input[type="radio"] {
	position: relative;
	background-color: transparent;
}

.cf7form .check input[type="checkbox"]:before,
.cf7form .check input[type="radio"]:before {
	visibility: hidden;
	display: none;
}

.cf7form .check input[type="checkbox"] + span.wpcf7-list-item-label:before,
.cf7form .check input[type="radio"] + span.wpcf7-list-item-label:before {
content: '';
 display: block;
 height: 20px;
 width: 20px;
 margin: 0;
 border-radius: 0;
 border: 1px solid var(--color-content-text);
 background: transparent;
 padding: 0;
 position: absolute;
 top: 50%;
 left: 0;
 transform: translateY(-50%);
 z-index: 0;
 visibility: visible;
 pointer-events: none;
}
.cf7form .check input[type="checkbox"]:checked + span.wpcf7-list-item-label:before,
.cf7form .check input[type="radio"]:checked + span.wpcf7-list-item-label:before {
	content: '';
 display: block;
 border-color: var(--color-content-link-hover);
 background-color: var(--color-content-link-hover);

/*
	content: '\f00c';
 font-weight: 100;
 font-size: 18px;
 font-family: fontawesome;
	padding-left: 2px;
 width: 18px;
*/
}

.cf7form .wpcf7-form-control-wrap{
	position: relative;
}

.cf7form .wpcf7-not-valid-tip {
	font-size: 12px;
	line-height: 16px;
	position: absolute;
	right: 10px;
	bottom: 2px;
	color: var(--color-content-text);
 font-weight: bold;
}

.cf7form .check > span.wpcf7-form-control-wrap span.wpcf7-not-valid-tip{
	position: absolute;
	right: 0;
	bottom: 0;
	height: 20px;
	width: 100px;
	text-align: right;
	padding-right: 20px;
	padding-top: 10px;
}

div.wpcf7-response-output {
	width: 100%;
 max-width: 1000px;
 margin: 1rem auto !important;
 border: 1px solid var(--color-content-text) !important;
 border-radius: 0;
 color: var(--color-content-text);
 background-color: transparent;
 padding: 1rem !important;
}

.cf7form .ajax-loader{
	position: absolute;
	display: block;
	left: 50%;
	top: 55px;
	margin-left: 76px;
}

.cf7form .wpcf7-spinner {
	display: flex;
  position: absolute;
  top: 50%;
	right: 3%;
	margin: 0;
  z-index: 5;
  background-color: #fff;
	
  -webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.cf7form a {font-weight: 500;}
.cf7form a:hover {color: var(--color-content-link-hover);}

.cf7form > div.submit{padding: 0; text-align: left;}
.cf7form > div.submit .w-btn {
 width: 100%;
 text-transform: none;
 letter-spacing: 0;
}

.cf7form > div.notice { padding: 1rem 0 0 0;}

.cf7form > div.mandatory {padding: 2rem 0; font-size: 80%;}

body .cf7form input[type="submit"].mailsend {
	z-index: 5;
	width: auto !important;
	border-radius: 0 !important;
	padding: 1.25rem calc(50px + 1rem) 1rem 0;
	line-height: 1.6rem !important;
	background: transparent;
	border: none !important;
}
body .cf7form input[type="submit"].mailsend:not(:hover) {
	color: var(--color-content-text) !important;
}

.cf7form > div.half.captcha {
 width: 58%;
 width: calc(60% - 1rem);
}
.cf7form > div.half.submit {
 width: 38%;
 width: calc(40% - 1rem);
}

.wpcf7-form-control-wrap.kc_captcha .captcha-image {
	display: flex;
 justify-content: left;
	align-items: center;
	border: none;
	padding: 0;
	text-align: left;
}

.captcha-image label > input:checked + svg,
.captcha-image label > input:focus + svg {
 border: 1px solid var(--color-content-link-hover);
	color: var(--color-content-link-hover);
}

.wpcf7-form-control-wrap.kc_captcha .captcha-image .cf7ic_instructions span {
	background-color: transparent;
 border: 1px solid var(--color-content-link-hover);
	color: var(--color-content-link-hover);
	padding: 2px 10px 4px 6px;
	margin-left: 8px;
	white-space: nowrap;
	font-weight: 400;
}

.wpcf7-form-control-wrap.kc_captcha .captcha-image > .cf7ic_instructions {font-size: 90%;}
.wpcf7-form-control-wrap.kc_captcha .captcha-image > label {
	-webkit-transform: scale(0.7);
	transform: scale(0.7);
}

.cf7form .dnd-upload-status .dnd-upload-details .dnd-progress-bar {
 display: block;
 border-radius: 0;
 overflow: hidden;
 background: var(--color-content-text);
 height: 18px;
}
.cf7form .dnd-upload-status .dnd-upload-details .dnd-progress-bar span {
 background: var(--cl-main);
 display: block;
 font-size: 13px;
 text-align: right;
 color: #fff;
 height: 100%;
 width: 0;
	line-height: 19px;
 padding: 0 10px;
}

.dnd-upload-status .dnd-upload-details .name {
 color: var(--color-content-text);
}
.dnd-upload-status .dnd-upload-details .name em {
 color: var(--color-content-text);
 font-weight: 100;
}



@media screen and (max-width: 600px) {

	.cf7form > div.half {
		width: 100% !important;
		margin-left: 0 !important;
	}

	.wpcf7-form-control-wrap.kc_captcha .captcha-image {max-width: 448px;}
}



/* Side-Floating Elements */

footer .floating-buttons {
	position: fixed;
	z-index: 2;
 top: 40vh;
 bottom: auto;
 right: 0;
 left: auto;
 transform-origin: right center;	
 -webkit-transition: top 0.6s ease;
 transition: top 0.6s ease;
 transform: translateY(-50%);		
}

body.state_mobiles footer .floating-buttons {right: 0.15rem;}

footer .floating-buttons *{
 margin: 0 !important;
}	
	
footer .floating-buttons.top {top: calc(var(--header-height) + 10vh);}
footer .floating-buttons.bottom {top: auto; bottom: 10vh;}
footer .floating-buttons.left:not(.right) {left: 0; right: auto;}
footer .floating-buttons > .wpb_wrapper {
	display: flex;
 flex-direction: column;
 align-items: flex-end;
 gap: 1rem;
 flex-wrap: wrap;
}

footer .floating-buttons.left:not(.right) > .wpb_wrapper {align-items: flex-start;}

footer .floating-buttons > .wpb_wrapper > a {
 display: flex !important;
 align-items: center;
 justify-content: center;
 padding: 0.5rem 1.5rem;
 min-height: 4rem;	
 overflow: hidden;	
 text-transform: uppercase;
 color: var(--cl-kupfer);
 border: none;
 background-color: var(--cl-typo);
 -webkit-transition: max-width 0.3s ease, 
 border-top-left-radius 0.3s ease,	
 border-bottom-left-radius	0.3s ease, 
 border-top-right-radius 0.4s ease,	
 border-bottom-right-radius 0.4s ease,
 background-color 0.2s;
 transition: max-width 0.3s ease, 
 border-top-left-radius 0.3s ease,	
 border-bottom-left-radius	0.3s ease, 
 border-top-right-radius 0.4s ease,	
 border-bottom-right-radius 0.4s ease,
 background-color 0.2s;
}

footer .floating-buttons > .wpb_wrapper > a.inverse {
	/*
	background-color: var(--color-alt-content-primary);
	*/
	background-color: var(--color-content-bg);	
	color: var(--color-content-text);
}
footer .floating-buttons > .wpb_wrapper > a.inverse > span > img {
	filter: brightness(0) saturate(100%) invert(31%) sepia(6%) saturate(1158%) hue-rotate(195deg) brightness(90%) contrast(87%);
}

footer .floating-buttons > .wpb_wrapper > a > span {
 display: flex !important;
 align-items: center;
 -webkit-transition: padding 0.3s;
 transition: padding 0.3s;			 
}

footer .floating-buttons > .wpb_wrapper > a > span > span {
	opacity: 0;
	max-width: 0;
	min-width: 0;
	white-space: nowrap;
	display: inline-block;
	overflow:hidden;
 -webkit-transition: max-width 0.2s ease, min-width 0s, opacity 0.6s ease;
 transition: max-width 0.2s ease, min-width 0s ease, opacity 0.6s ease;	
}

footer .floating-buttons > .wpb_wrapper > a > span img {
 height: 2.2vw;
 min-height: 20px;
 max-height: 1.35vw;
 padding-right: 0 !important;
 object-fit: contain;
 -webkit-transition: all 0.4s ease;
 transition: all 0.4s ease;	
 }
footer .floating-buttons > .wpb_wrapper > a:hover > span img {padding-right: 1rem !important;}

footer .floating-buttons > .wpb_wrapper > a:hover {
 border-radius: 0;
 max-width: 350px;
 -webkit-transition: max-width 0.7s ease, border-radius 0.4s;
 transition: max-width 0.7s ease, border-radius 0.4s;		
}

footer .floating-buttons > .wpb_wrapper > a:hover > span {
 padding: 0.2rem 1.5rem 0.2rem 1.5rem !important;
 justify-content: flex-start;
 -webkit-transition: padding 0.7s;
 transition: padding 0.7s;			
}

footer .floating-buttons > .wpb_wrapper > a:hover > span > span {
 opacity: 1;
 max-width: 250px;
 min-width: 60px;
 -webkit-transition: max-width 0.6s ease, min-width 0.6s ease, opacity 0.6s ease;
 transition: max-width 0.6s ease, min-width 0.6s ease, opacity 0.6s ease;		
}

@media screen and (max-width: 1920px) {
	
	footer .floating-buttons > .wpb_wrapper > a {
		min-width: 7.5rem;
		min-height: 2.5rem;	
	}
}

@media screen and (max-width: 1024px) {

 .l-section.height_huge {
  padding-top: 5vmax;
  padding-bottom: 5vmax;
 }

 .l-section.height_large {
  padding-top: 3vmax;
  padding-bottom: 3vmax;
 }


}

@media screen and (max-width: 900px) {
 .l-subheader {
  padding-left: 2.5rem !important;
  padding-right: 2.5rem !important;
 }

 #service .w-vwrapper .w-image {
  min-width: 50%;
  margin-bottom: 3rem;
 }

 #service  .w-vwrapper > :not(:last-child) {
  margin-bottom: 0;
 }

 footer .floating-buttons {
	 top: var(--header-height);
  transform: none;
 }
}

@media screen and (max-width: 600px) {

 .l-subheader {
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
 } 

 .w-grid-list article .project-img-hover-container {
  transform: translateY(0%);
 }

 .project-img-hover-container {
  height: 65px;
 }

 .project-img-hover-container::before {
  transform: translateY(-76%);
 }

 #menu-address p, #menu-mail a, #menu-phone p {
  font-size: 12px;
 }

 .shop-request form {
  margin: 3.5rem 2rem 2rem 2rem;
 }
 #service .w-vwrapper .w-image:not(:last-of-type) {
  margin-bottom: 80px;
 }

 #project-gallery {
  min-height: fit-content !important;
  padding-top: 0 !important;
 }
}

@media screen and (max-width: 400px) {
 h1, .h1, h1 *, .h1 * {
   font-size: clamp(18px, 8vw, 28px) !important;
 }
		.l-header .menu-item-object-us_page_block .w-image {
			min-width: 180px !important;
		}
}




.vw-justified {
	height: calc(92vh - var(--header-height)) !important;
	min-height: 400px;
}

body.state_laptops footer .floating-buttons > .wpb_wrapper > a {min-width: 10vw;min-height: 6vh;}
body.state_tablets footer .floating-buttons > .wpb_wrapper > a {min-width: 10vw;min-height: 6vh;}
body.state_mobiles footer .floating-buttons > .wpb_wrapper > a {min-width: 20vw; min-height: 5vh;}


.cmplz-cookiebanner.cmplz-show {
 box-shadow: none;
 border-radius: 0px;
}

.cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-accept,
.cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-deny,
.cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-view-preferences {
 border-radius: 0;
 background-color: var(--cl-typo) !important;
 border: 1px solid var(--cl-typo) !important;
 color: var(--cl-weiss) !important;
}

.cmplz-cookiebanner .cmplz-links .cmplz-link {
 color: var(--cl-typo) !important;
}

span.cmplz-icon.cmplz-open svg{
 transform: translateY(-50%);
}

.cmplz-service-header h3 + p {
	margin-bottom: 1rem !important;
}

@media screen and (min-width: 1020px) and (max-width: 1760px) {
	.nooverlap {transform: translateY(15vh);}
}