@import url("https://use.typekit.net/qwk1uas.css");


@font-face {
	font-family: 'inktrap-font';
	src:  url('../fonts/inktrap-medium.woff2') format('woff2'),
		url('../fonts/inktrap-medium.woff') format('woff');
    font-weight: normal;
    font-style: normal;		
}

/* Symbole */

@font-face {
    font-family: 'amatiksymbols';
    src: url('../fonts/amatiksymbols.eot');
    src: url('../fonts/amatiksymbols.eot?#iefix') format('embedded-opentype'),
         url('../fonts/amatiksymbols.woff') format('woff'),
         url('../fonts/amatiksymbols.ttf') format('truetype'),
         url('../fonts/amatiksymbols.svg#amatiksymbols') format('svg');
    font-weight: normal;
    font-style: normal;
}

/* Nur für Staging */

.js-finder-search-query.form-control {
	border: 1px solid;
	border-radius: 0;
	height: 44px;
	margin-top: 8px;
	margin-right: 10px;
}

.mod-finder__search .icon-search.icon-white::before {
	font-family: amatiksymbols;
	content: 'L';
	font-size: 22px;
	width: 44px;
	height: 44px;
	display: block;
	text-indent: 0;
	left: .5rem;
	align-content: center;
	position: absolute;
	top: 0;
}

.moduletable.filter.search {
	margin-top: 6rem;
}

@media (max-width: 1280px) {
.moduletable.filter.search {
	margin-top: 4.25rem;
}
}

@media (max-width: 1024px) {
.moduletable.filter.search {
	margin-top: 0;
	max-width: 400px;
	margin-left: 0;
}
}

.moduletable.filter.search .btn {
	text-indent: -99999px;
	margin-right: 0;
}

/* Basic Styles */

:root {
	font-size: 16px;	
	--font-h1big: 11.56rem;
	--font-h2big: 4.5rem;

	--font-menu: 3.125rem;
	--font-menu-sub: 2.5rem;
	--font-h1: 2.5rem;
	--font-h2: 1.5625rem;
	--font-h3: 1.375rem;
	--font-p: 1.125rem;
	--font-small: 1rem;
	
	--1stclr: #000000;
	--2ndclr: #F2EEE9;
	--3rdclr: #FFFFFF;
	--4thclr: #FF6E56;
	--5thclr: #E6DBCE;
	--6thclr: #D5BD78;
	--7thclr: #FFDF37;
	--8thclr: #315ED6;
	
	--bs-gutter-x: 3rem;
	--padder: 3rem;
	--menupad: 3rem;
	--smallpad: 2rem;
	--negpad: -3rem;
	--maxchp: 62ch;
	--maxchh: 720px;
	accent-color: var(--3rdclr);
}

:focus-visible {
	outline: 2px solid var(--3rdclr);
	border-radius: 0 !important;
	opacity: 0.6;
}

@media (max-width: 1280px){
:root {
	--font-h1big: 5.75rem;
	--font-h2big: 3.4375rem;

	--font-menu: 3.125rem;
	--font-menu-sub: 2.125rem;
	--font-h1: 2.125rem;
	--font-h2: 1.375rem;
	--font-h3: 1.25rem;
	--font-p: 1rem;
	--font-small: 0.875rem;	
	
	--bs-gutter-x: 2rem;
	--padder: 2rem;
	--negpad: -2rem;
}
}

@media (max-width: 810px){
:root {
	--bs-gutter-x: 1.5rem;
	--padder: 1.5rem;
	--menupad: 2.5rem;
	--negpad: -1.5rem;
	--font-h2big: 2.5rem;
	--font-menu: 2.75rem;
	--font-menu-sub: 2rem;
}
}

@media (max-width: 480px){
:root {
	--font-h1big: 3.125rem;
	--font-h2big: 2.5rem;
	
	
	--font-menu: 2rem;
	--font-menu-sub: 1.5rem;
	--font-h1: 1.875rem;
	--font-h2: 1.375rem;
	--font-h3: 1.125rem;
	--font-p: 1rem;
	--font-small: 0.875rem;	
	
	--bs-gutter-x: 1rem;
	--padder: 1.5rem;
	--menupad: 2rem;
	--negpad: -1.5rem;
}
}

body {
	background-color: var(--3rdclr);
	color: var(--1stclr);
	font-family: aktiv-grotesk-condensed, arial;
	min-height: 100vh;
	min-height: -webkit-fill-available;
}

html {
  height: -webkit-fill-available;
}

h1, h2, h3, h4, h5, h6 {
	font-family: 'inktrap-font';
	font-weight: normal;
}
  
h1  {
	font-size: var(--font-h2big);
	line-height: 1.1;
	margin-bottom: 1.75rem;
	max-width: 24ch;
}

.products h1 {
	font-size: var(--font-h1);
}

.bigintro h1, .bigintro h2 {
	font-size: var(--font-h1big);
	margin-left: -0.09em;
}

h2, .newsintro h3, .big h3  {
	font-size: var(--font-h2);
	margin-bottom: 0.7rem;
}

.com-finder h2 {
	margin-bottom: 0.7rem;
}

.toph2 {
	padding-bottom: calc(var(--padder) / 2) !important;
}

.newsintro h3 {
	font-family: 'inktrap-font';
}


.introtext h2, .introtext h2 span {
	font-size: var(--font-h3);
	font-family: aktiv-grotesk-condensed, arial;
	font-weight: 500;
}

.introtext h2 {
	height: 3.5rem;
}

.introtext h4 {
	margin-bottom: 0.5rem !important;
}

.introtext h4 span {
	font-size: var(--font-small);
}

.introtext h2 span {
	-webkit-line-clamp: 2;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
}

.big h2 {
	font-size: var(--font-h2big);
	margin-left: -0.09em;
	margin-bottom: 0.5em;
}

h3 {
	font-family: aktiv-grotesk-condensed, arial;
	font-size: var(--font-h3);
	margin-bottom: 0.3rem;
}
  
h4 {
	font-size: var(--font-small);
	line-height: 1.3;
	margin-bottom: 1em;
	font-family: aktiv-grotesk-condensed, arial;
}

.bigintro h4 {
	font-size: var(--font-h3);
}

p {
	font-size: var(--font-p);
	max-width: var(--maxchp);
	padding-bottom: 1em;
	margin-bottom: 0;
}

@media (max-width: 1280px){
.bigintro h1, .bigintro h2 {
	font-size: 13vw;
	margin-bottom: 0;
}	
}

@media (max-width: 600px){
	.introtext h2 {
		height: auto;
	}	
}

ol, ul, p, main li, label, .cf-input, .moduletable.infobrief div {
	font-size: var(--font-p);
}

strong, b {
	font-weight: 500;
  }
  
em {
	font-weight: normal;
	font-style: normal;
}  
  
img {
	max-width: 100%;
	height: auto;
}

a {
	color: var(--1stclr);
	text-decoration: underline;
  }

a:hover {
	color: var(--1stclr);
	text-decoration: none;
  }

.center {
	text-align: center;
}  

button, .btn, .btn.inv:hover, .btn.btn-primary:hover {
	background-color: transparent;
	background: linear-gradient(to right, transparent 50%, var(--1stclr) 50%);
	background-size: 201% 100%;
	background-position: left bottom;	
	color: var(--1stclr);
	border-radius: 0;
	border-color: var(--1stclr);
	font-size: var(--font-p);
	text-decoration: none;
	padding: 0.475rem 1.85rem;
	border: 0px solid;
	cursor: pointer;
	margin-top: .5rem;
	margin-right: .5rem;
	transition: ease-in-out .2s;
	font-family: inktrap-font;
    outline: 1px solid;
    outline-offset: -1px;
    outline-color: var(--1stclr);
}

button:hover, .btn:hover, .btn.active, .btn-primary:not(:disabled):not(.disabled).active, .btn-primary:not(:disabled):not(.disabled):active, .show > .btn-primary.dropdown-toggle, .continue_link:hover, .btn.inv, .btn.btn-primary {
	background-color: transparent;
	background-position: right bottom;
	border-color: var(--1stclr);
	color: var(--2ndclr);
	border-radius: 0;
	transition: ease-in-out .2s;
}








button a {
	color: var(--1stclr);
	text-decoration: none;
	font-family: inktrap-font;
}

button:hover a {
	color: var(--2ndclr);
}

.preload * {
  -webkit-transition: none !important;
  -moz-transition: none !important;
  -ms-transition: none !important;
  -o-transition: none !important;
}

/* Joomla Overrides */

.skip {
	display: none;
}

.mod-custom {
	padding: 0rem;
}

.moduletable {
	position: relative;
	display: grid;
	margin-bottom: 0;
	margin-top: 0;
}

.burgermenu .mod-custom {
	position: absolute;
	bottom: 1rem;
}

@media (max-height: 760px){
.burgermenu .mod-custom {
	position: relative;
	float: left;
}
}

.fullpage .com-content-article {
	padding-right: 0;
}

.com-content-article.item-page .page-header {
	display: none;
}

@media (max-width: 810px){
.page-header {
	margin-top: -.5rem;
}

.com-content-article {
	padding-right: 0rem;
}

}

/* Bootstrap overrides */

main ol, main ul {
	padding-left: 1rem;
	max-width: var(--maxchp);
	margin-top: 0.5rem;
}

main ul {
	list-style: none;
	margin-top: -.5rem;
	margin-bottom: 2rem;
}

main li {
	margin-bottom: 0.5rem;
}

main ul li::before {
	content: '–';
	margin-left: -1rem;
	padding-right: .5rem;
	background-color: transparent;
	height: 0;
	width: 0;
	margin-top: 0;
}

figure {
	margin: 0;
}

.container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl, .com-content-category-blog__items, .com-finder.finder, .blog .page-header {
	max-width: 1920px;
	padding-left: var(--padder);
	padding-right: var(--padder);
}

.container.full {
	width: 100%;
	max-width: 100%;
	padding: 0;
}

.container.foot {
	max-width: 1920px;
}

.com-content-article__body, .com-content-category-blog__items, .com-finder.finder {
	margin: 0 auto;
}

.container.transparent {
	background-color: transparent;
}

button:focus:not(:focus-visible) {
	outline: 0;
	border: 0!important;
}

.navbar-toggler:focus {
	box-shadow: none!important;
}
@media (max-width: 810px){
.col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
	width: 100%;
}

.navbar.mobile .col-md-2 {
	flex: 0 0 auto;
	width: 16.66666667%;
}	

.navbar.mobile .col-md-8 {
	flex: 0 0 auto;
	width: 66.66666667%;
}

}

@media (max-width: 480px){
.container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
	padding-left: var(--padder);
	padding-right: var(--padder);
}
}

/* Template Stuff */

main {
	margin: auto;
	margin-top: calc(var(--padder) * 2.5);
	padding-left: 0rem;
	padding-right: 0rem;
}

.fullpage main {
	max-width: 100%;
	width: 100%;
	margin-top: 0;
	padding: 0;
}

.fullheight {
	height: 100%;
}

.bgcover {
	background-size: cover;
	background-position: center;
}

.bgwhite, .bgwhite header {
	background-color: var(--3rdclr);
}

.bgbrown, .bgbrown header  {
	background-color: var(--2ndclr);
}

.bgdarkbrown, .bgdarkbrown header  {
	background-color: var(--5thclr);
}

.bggold, .bggold header {
	background-color: var(--6thclr);
}

.nopad {
	padding: 0;
}

.toppad {
	padding-top: var(--padder);
}

.leftpad {
	padding-left: calc(var(--padder) * 2);
}

.rightpad {
	padding-left: calc(var(--padder) * 2);
}

.desktop {
	display: block;
}

.mobil {
	display: none;
}

.clearblock {
	padding-bottom: var(--padder);
}

.clearblock.big {
	padding-top: var(--padder);
	padding-bottom: var(--padder);
}

.clearblock.small {
	padding-bottom: calc(var(--padder) / 2);
}

@media (max-width: 1280px){
main {
	margin-top: calc(var(--padder) * 3);
}	
}

@media (max-width: 810px){

main img {
	width: 100%;
}

.leftpad {
	padding-left: var(--padder);
}

.rightpad {
	padding-left: var(--padder);
}

.desktop {
display: none;
}
.mobil {
display: block;
}
}


/* Grid Systeme */

.even-columns {
	display: grid;
	gap: 1.5rem;
}

.masonry-open {
	display: grid;
	grid-template-columns: 4.5rem 1fr;
	margin-bottom: .5rem;
	font-size: var(--font-p);
	max-width: 170px;
}

.masonry-open div:nth-of-type(2n) {
	text-align: right;
}

.masonry-6 {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem;
	height: 100%;
}

.masonry-2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.5rem;
}

.masonry-14 {
	display: grid;
	grid-template-columns: auto 1fr;
}

.masonry-23 {
	display: grid;
	min-height: 100vh;
	gap: 0;
}

.centergrid {
	display: grid;
	align-items: center;
}

.masonry-23.left, .masonry-23.products {
	grid-template-columns: 3fr 4fr;
}

.masonry-23.products {
	grid-template-columns: minmax(0, 3fr) 4fr;
}

.masonry-23.right, .kontaktfilter .masonry-14 {
	grid-template-columns: 4fr 3fr;
}

.nofilter .masonry-14 {
	grid-template-columns: 1fr;
}

.masonry-3 {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 1.5rem;
	max-width: 100%;
}

.masonry-4 {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 1.5rem;
	max-width: 100%;
	row-gap: 3rem;
}

.com-content-category-blog__items.blog-items.masonry-4 {
	margin-bottom: calc(var(--padder) * 2);
}

.kontaktfilter .masonry-4 {
	grid-template-columns: 1fr 1fr;
	clear: both;
}

@media (min-width: 50em) {
.even-columns {
	grid-auto-flow: column;
	grid-auto-columns: 1fr;
}
}

@media (max-width: 1380px){
.masonry-4  {
	grid-template-columns: 1fr 1fr 1fr;
}

.kontaktfilter .masonry-4 {
	grid-template-columns: 1fr;
}
}

@media (max-width: 1280px){
.masonry-open {
	grid-template-columns: 3.5rem 1fr;
	max-width: 145px;
}
}

@media (max-width: 1024px){
.masonry-14 {
	grid-template-columns: 1fr;
}	
}

@media (max-width: 810px){
	
.masonry-2, .masonry-3, .masonry-4  {
	grid-template-columns: 1fr 1fr;
	gap: 2rem;
}

.masonry-23.left, .masonry-23.right, .masonry-23.products, .kontaktfilter .masonry-14 {
	grid-template-columns: 1fr;
	height: auto;
}

.masonry-23 .container.full {
	overflow: visible;
	order: 1;
}

.masonry-23 .container.big.scrollbar {
	order: 2;
}

}

@media (max-width: 600px){
	
.masonry-2, .masonry-3, .masonry-4  {
	grid-template-columns: 1fr;
	gap: 2rem;
}
}

/* Wiederkehrende Elemente */

.squareimg {
	background-size: cover;
	background-position: center;
	height: 100vh;
	position: sticky;
	top: 0;
}

.fullpage .squareimg {
	overflow: hidden;
}

.fullpage .squareimg img {
	object-fit: cover;
	object-position: center;
	height: 100%;
	width: 100%;
}

/*
.masonry-23.left .newsblock {
	float: right;
	padding-right: var(--padder);
}

.masonry-23.right .newsblock {
	float: left;
	padding-left: var(--padder);
}

*/

.masonry-23 * {
  animation-fill-mode: forwards;
}

.fullpage .masonry-23.left.slidein .container.full.squareimg img {
	animation-duration: .8s;
	animation-name: slideright;
	opacity: 0;
}

.fullpage .masonry-23.right.slidein .container.full.squareimg img {
	animation-duration: .8s;
	animation-name: slideleft;
	opacity: 0;
}

.fullpage .masonry-23.slidein .newsblock {
	animation-name: appear;
	animation-delay: .2s;
	animation-duration: 1s;
	opacity: 0;
}

@keyframes appear {
  from {
    opacity: 0;
  }

  to {
	opacity: 1;
  }
}

@keyframes slideleft {
  from {
    transform: translateX(-10rem);
    opacity: 0;
  }

  to {
    transform: translateX(0rem);
	opacity: 1;
  }
}

@keyframes slideright {
  from {
    transform: translateX(10rem);
    opacity: 0;
  }

  to {
    transform: translateX(0rem);
	opacity: 1;
  }
}

@media (max-width: 1680px){
.masonry-23.left .newsblock, .masonry-23.right .newsblock {
	float: none;
	padding-left: 0;
	padding-right: 0;
}
}


@media (max-width: 810px){
	
.container.full.squareimg {
	order: 0;
	overflow: hidden;
}	

.container.centergrid {
	order: 1;
}
	
.squareimg {
	position: relative;
	width: 100vw;
	height: 100vw;
}
}

/* Sprachwähler */

div.mod-languages li {
	margin: 0;
}

div.mod-languages ul li.lang-active {
	background-color: transparent;
	display: none;
}

div.mod-languages a {
	padding: 0;
	text-decoration: none;
}

a[aria-label="Deutsch (Deutschland)"], a[aria-label="English (United Kingdom)"] {
	background-image: url(../images/globe-de.svg);
	text-indent: 100%;
	width: 3.5rem;
	height: 2.5rem;
	display: block;
	overflow: hidden;
	background-position: center;
	background-repeat: no-repeat;
	margin-left: -2rem;
}

a[aria-label="English (United Kingdom)"] {
	background-image: url(../images/globe-en.svg);
}

.language-change {
	position: fixed;
	top: calc(var(--padder) - 0.4rem);
	width: 3.5rem;
	height: 2.5rem;
	display: grid;
	grid-template-columns: 1fr 1fr;
	right: calc(var(--padder) * 2);
}

.language-change button {
	border: 0;
	background: transparent;
	width: 0;
	padding: 0;
	display: inline-block;
	margin-top: 0;
}

.language-change button.active, .language-change button:hover {
	color: var(--1stclr);
	text-decoration: underline;
}

html[lang="en-gb"] .de-de, html[lang="de-de"] .en-en {
	display: none;
}

html[lang="en-gb"] .de-de .en-en, html[lang="de-de"] .de-de  {

}


@media (max-width: 480px){
.language-change {
	display: none;
	right: auto;
	left: calc(var(--padder) * 2.25);
	z-index: 1;	
}

.menuopen .language-change {
	display: block;
}
}
	

/* Menü */

header {
	position: fixed;
	width: 100%;
	top: 0;
	background-color: var(--3rdclr);
	transition: ease-in-out 0.2s;
	z-index: 1;
	padding: calc(var(--padder) / 2) var(--padder);
	display: grid;
	grid-template-columns: 100px 1fr 100px;
	align-items: center;
	transition: ease-in-out 0.2s;
}

.fullpage header {
	background: transparent;
}

.fullpage header.up {
	background: var(--2ndclr);
}

header.down {
	background-color: var(--3rdclr);
	transition: ease-in-out 0.2s;
	translate: 0 -125px;
}

/* .fullpage header {
	background-color: transparent;
	height: 150px;
	transition: ease-in-out 0.2s;
}

.fullpage header.down {
	background-color: transparent;
	height: 150px;
	transition: ease-in-out 0.2s;
}

.fullpage header.up {
	height: 100px;
	background-color: var(--3rdclr);
	animation: scrollup 1s linear infinite;
	animation-play-state: paused;
	animation-delay: calc(var(--scroll) * -1s);
	animation-iteration-count: 1;
	animation-fill-mode: both;
	transition: ease-in-out 0.2s;
}

@keyframes scrollup {
  0%   {background-color: transparent;height: 150px;}
  10%  {background-color: var(--3rdclr);height: 100px;}
}

*/

.logowrapper {
	height: calc(var(--padder) * 1.5);
	position: relative;
	display: grid;
}

.logowrapper .logo {
	height: calc(var(--padder) * 1);
	width: calc(var(--padder) * 1);
	background-size: contain;
	background-image: url(../images/logo.svg);
	background-repeat: no-repeat;
	margin-block: auto;
}

.fullpage .logowrapper .logo {
	height: calc(var(--padder) * 1.5);
	width: calc(var(--padder) * 1.5);
}

.firma a {
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	text-decoration: none;
	font-size: var(--font-small);
}

.down .logowrapper, .down .firma {
	translate: 0 -125px;
	transition: ease-in-out 0.2s;
}

.up .logowrapper, .up .firma {
	translate: 0 0;
	transition: ease-in-out 0.2s;
}

.down .burgerwrapper {
	translate: 0 125px;
}

.up .burgerwrapper {
	transition: ease-in-out .2s;
	translate: 0 0;
}
@media (max-width: 1280px){
	
.fullpage .logowrapper .logo {
	height: calc(var(--padder) * 2);
	width: calc(var(--padder) * 2);
	margin-top: calc(var(--negpad) / 4);
}	
	
.logowrapper .logo {
	height: calc(var(--padder) * 1.5);
	width: calc(var(--padder) * 1.5);
}

}


@media (max-width: 810px){
header {
	height: 75px;
}

main {
	margin-top: 75px;
}
}

/* @media (max-width: 480px) {
header {
  height: 60px;
}

main {
	margin-top: 60px;
}

}

*/

/* Burger */

.burgerwrapper, .burgerwrapper:hover {
	background: transparent;
	width: 2.5rem;
	height: 2.5rem;
	display: grid;
	padding: 0;
	border-radius: 100%;
	position: fixed;
	top: var(--padder);
	z-index: 1;
	transition: all ease-in-out 0.2s;
	border: 0;
	right: var(--padder);
	margin: 0;
    outline: 0;
}

.menuopen .burgerwrapper {
	background: transparent;
	transition: all ease-in-out 0.2s;
}

.burger {
	background-image: none;
	z-index: 2;
	display: block;
	position: relative;
}

.burgerlayer {
	width: 100%;
	height: 2px;
	background-color: var(--1stclr);
	transform: rotate(0deg);
	transition: all ease-in-out 0.2s;
}

.burgerlayer.top {
	translate: 0 0.5rem;
}

.burgerlayer.bottom {
	translate: 0 1rem;
}

.menuopen .burgerlayer.top {
	transform: rotate(-45deg) translateX(-.25rem) translateY(.25rem);
	transform-origin: center;
}

.menuopen .burgerlayer.bottom {
	transform: rotate(45deg) translateX(-.25rem) translateY(-0.25rem);
	transform-origin: center;
}

/* Menü Items */

 .mainmenu {
	font-family: inktrap-font;
	text-transform: uppercase;
	letter-spacing: 0.08rem;
	width: 100%;
	background-color: hsl(0, 0%, 0%, 0.5);
	position: fixed;
	top: 0;
	right: 0;
	min-height: 100%;
	translate: 100%;
	opacity: 0;
	transition: opacity ease-in-out 0.5s 0s, translate ease-in-out 0s 0.5s;
}



.menuopen .mainmenu {
	translate: 0%;
	opacity: 1;
	transition: opacity ease-in-out 0.2s, translate ease-in-out 0s;
	transition-delay: 0s;
}

.menuopen .down .mainmenu {
	translate: 0 125px;
	transition: opacity ease-in-out 0.2s, translate ease-in-out 0s;
	transition-delay: 0s;
}

.mainmenu .mod-menu {
	width: 100%;
	max-width: 800px;
	background: var(--4thclr);
	display: block;
	float: right;
	height: 100vh;
	padding: var(--padder);
	translate: 100%;
	transition: translate ease-in-out 0.2s;
	position: relative;
	padding-right: calc(var(--padder) + 0.25rem);
	padding-top: calc(var(--padder) + 8rem);
	overflow-y: scroll;
	scrollbar-width: none;
	-ms-overflow-style: none;	
}

.mainmenu .mod-menu::-webkit-scrollbar {
    display: none;
}

.menuopen .mod-menu {
	translate: 0%;
	transition: translate ease-in-out 0.2s;
}

.mainmenu .nav-item {
	position: relative;
	background-image: url(../images/pixel.png);
	background-size: 0% 2px;
	background-repeat: no-repeat;
	padding-top: var(--padder);
	padding-bottom: var(--padder);
}

.menuopen .mainmenu .nav-item {
  animation-duration: .5s;
  animation-fill-mode: forwards;
  animation-delay: .2s;
  animation-name: linegrow;
  animation-timing-function: ease-in;
}

@keyframes linegrow {
  from {
    background-size: 0% 2px;	
  }

  to {
    background-size: 100% 2px;	
  }
}

.mainmenu a, .mainmenu .current.active .mod-menu__sub a {
	text-decoration: none;
	padding-right: 1.25rem;
	font-size: var(--font-menu);
	letter-spacing: 0.05em;
	background: linear-gradient(transparent 50%, black 50%);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-size: 200% 200%;
	background-position: 0 0%;
	line-height: 1;
	position: relative;
}

.mainmenu .current.active a, .mainmenu a:hover, .mainmenu .current.active .mod-menu__sub a:hover {
	text-decoration: none;
	font-size: var(--font-menu);
	letter-spacing: 0.05em;
	background: linear-gradient(transparent 50%, white 50%);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-size: 200% 200%;
	background-position: 0 0%;
	line-height: 1;
	position: relative;	
}
	
.menuopen .mainmenu a:hover {
	background-position: 0 0%;
}	

.menuopen .mainmenu a {
  animation-duration: .5s;
  animation-fill-mode: forwards;
  animation-delay: .5s;
  animation-name: textfill;
  animation-timing-function: ease-in;
}

@keyframes textfill {
  from {
    background-position: 0 0%;	
  }

  to {
    background-position: 0 100%;	
  }
}

.mainmenu .nav-item.deeper.parent {
	padding-top: var(--menupad);
	padding-bottom: calc(var(--menupad) / 1.5);
}


.mainmenu .current.active .mod-menu__sub a::before {
	width: 100%;
	border: 1px solid transparent;
}

.mainmenu .mod-menu__sub a:hover::before, .mainmenu .mod-menu__sub .current.active a::before {
	border: 1px solid var(--1stclr);
	width: 100%;
}

.mod-menu__sub.list-unstyled.small {
	position: absolute;
	display: none;
	padding-top: 0.5rem;

}

.mod-menu__sub.list-unstyled.small .nav-item {
	padding: 0.5rem 0;
	border-top: 0;
	max-width: 26ch;
	line-height: 1.3;
	background: transparent;
}

.mod-menu__sub.list-unstyled.small .nav-item a {
	font-size: var(--font-menu-sub);
	padding-right: 0;
	text-transform: none;
	letter-spacing: 0!important;
	animation-delay: 0s;
}

.nav-item.current.active.deeper.parent .mod-menu__sub.list-unstyled.small.active li:hover a {
	font-size: var(--font-menu-sub);
}


.mod-menu__sub.list-unstyled.small .nav-item:nth-child(2) a {
	animation-delay: .1s;
}

.mod-menu__sub.list-unstyled.small .nav-item:nth-child(3) a {
	animation-delay: .2s;
}

.mod-menu__sub.list-unstyled.small .nav-item:nth-child(4) a {
	animation-delay: .3s;
}

.mod-menu__sub.list-unstyled.small .nav-item:nth-child(5) a {
	animation-delay: .4s;
}

.mod-menu__sub.list-unstyled.small .nav-item:nth-child(6) a {
	animation-delay: .5s;
}

.mod-menu__sub.list-unstyled.small .nav-item:nth-child(7) a {
	animation-delay: .6s;
}

.nav-item.deeper.parent:hover .mod-menu__sub.list-unstyled.small {
		display: block;
}

/* Submenue */


.mainmenu .klapp {
	display: block;
	width: 2.125rem;
	text-align: center;
	background-size: cover;
	background-repeat: no-repeat;
	cursor: pointer;
	position: absolute;
	right: 0;
	float: right;
	top: calc(var(--padder) * 1.5);
}

.mainmenu .klapp::after {
	content: '';
	background-image: url(../images/klapper.svg);
	background-size: 100%;
	width: 100%;
	height: 1rem;
	display: block;
	transform: rotateX(0deg);
	transition: ease-in-out 0.2s;
	scale: 0;
	background-repeat: no-repeat;
}

.menuopen .mainmenu .klapp::after {
  animation-duration: .5s;
  animation-fill-mode: forwards;
  animation-delay: .2s;
  animation-name: scaleup;
}

@keyframes scaleup {
  from {
    scale: 0;	
  }

  to {
    scale: 1;	
  }
}

.mainmenu .klapp.active::after {
	transform: rotateX(180deg);
	transition: ease-in-out 0.2s;

}

.mainmenu .active.deeper.parent .klapp::before {
	color: var(--1stclr);
}

.mod-menu__sub.list-unstyled.small {
	position: relative;
	padding-top: 0.5rem;
	max-width: 100%;
	width: 100%;
	transform: translateX(-var(--padder));
}

.mod-menu__sub.list-unstyled.small .nav-item {
	max-width: 100%;
}

.nav-item.deeper.parent:hover .mod-menu__sub.list-unstyled.small, .current.active.deeper.parent .mod-menu__sub.list-unstyled.small {
	display: none;	
}

.mod-menu__sub.list-unstyled.small.active, 
.nav-item.deeper.parent:hover .mod-menu__sub.list-unstyled.small.active,
.mainmenu .current.active.deeper.parent .mod-menu__sub.list-unstyled.small.active,
.mainmenu .alias-parent-active.deeper.parent .mod-menu__sub.list-unstyled.small {
	display: block;
} 


	

/* Page */

.pagewrap  {
	width: 100%;
	transition: ease-in-out 0.2s;
}

/* Filtermodul */

.com-finder h1 {
	margin-bottom: calc(var(--padder) / 2) !important;
}

.com-finder .introtext h2 {
	margin-bottom: 0.25rem!important;
}

.com-finder__results-list {
	margin-top: 0;
}

.moduletable.filter {
	max-width: 1280px;
	min-width: 320px;
	margin: auto;
	padding-left: var(--padder);
	padding-right: 0;
	margin-bottom: 2rem;
	font-size: var(--font-p);
	overflow: hidden;
	margin-top: .5rem;
}

.moduletable.filter.reset.mod-jfilters_filters {
	margin-block: var(--padder);
}

.hidefilter .moduletable.filter {
	display: none;
}	

.mod-jfilters_filters {
	padding: 0;
}

.kontaktfilter .mod-jfilters_filters {
	margin-bottom: 1rem;
	width: 50%;
}

@media (max-width: 1380px) {
	.kontaktfilter .mod-jfilters_filters {
		width: 100%;	
}
}

.jfilters-filter-container {
	padding: 0;
	border-bottom: 0px solid #dfdfdf;
}

.jfilters-filter-header {
	font-size: var(--font-p);
	display: inline-block;
	margin-bottom: .5rem;
	width: 100%;
}

.jfilters-filter-header__toggle, .jfilters-filter-header__toggle:hover, .jfilters-filter-header__toggle:focus:not(:focus-visible) {
	border-bottom: 1px solid!important;
	width: 100%;
	display: block;
	text-align: left;
	line-height: 2;
	padding: 0;
	background: transparent;
	color: var(--1stclr);
	font-weight: 400;
	font-family: aktiv-grotesk-condensed, arial;
	font-size: var(--font-p);	
}

.jfilters-filter-header__toggle .jfilters-chevron {
	background-image: url(../images/klapper.svg);
	background-repeat: no-repeat;
	background-position: bottom;
	width: 1rem;
	height: 1rem;
}

.jfilters-filter-header__toggle-icon {
	float: right;
}

.jfilters-filter-list {
	display: block;
	float: left;
	clear: both;
}

.jfilters-filter-list__item {
	margin-bottom: 0;
}

.jfilters-filter-list__item::before {
	display: none;
}

/* Filter Clear */

.jfilters-item-link--clear {
	font-size: .9em;
	display: block;
}

/* Filter Checkbox */

.jfilters-item-link--selected {
	font-weight: 400;
}

.jfilters-item-link--checkbox::before {
	border-radius: 0;
	width: 19px;
	height: 19px;
	margin-top: 0.35rem;
	border-color: var(--2ndclr);
	border-width: 2px;
}

.jfilters-item-link--selected.jfilters-item-link--dummy-input::before {
	border-color: var(--2ndclr);
	background: var(--2ndclr);
}

.jfilters-item__text {
	box-sizing: border-box;
	margin-left: 2rem;
	display: block;
	line-height: 1.7;
	margin-bottom: 0.5rem;
}

.jfilters-item-link--dummy-input .jfilters-item__label-text {
	padding-inline-start: 0;
	margin-inline-start: 0;
}

.jfilters-item-link--checkbox:focus .jfilters-item__label-text::before, .jfilters-item-link--checkbox:hover .jfilters-item__label-text::before {
	border: none;
}

.jfilters-item-link--selected.jfilters-item-link--checkbox .jfilters-item__label-text::before {
	border: solid var(--1stclr);
	border-width: 0 5px 3px 0;
	transform: rotate(45deg) scaleX(0.28) scaleY(.425);
	margin-top: 0.1rem;
	margin-left: -2.1rem;
}

@media (max-width: 1280px){
.jfilters-item__text {
	line-height: 1.9;
}	
	
}

/* Filter Button */

.jfilters-item-link--button {
	margin: 0;
	display: inline-block;
}

.jfilters-item-link--button .jfilters-item__text {
	margin-left: 0;
	border-color: var(--2ndclr);
	border-radius: 0;
	font-size: var(--font-small);
	background-color: var(--3rdclr);
	color: var(--1stclr);
	line-height: unset;
	margin-right: 0.5rem;
	margin-bottom: 0.7rem;
}

.jfilters-item-link--button.jfilters-item-link--selected .jfilters-item__text, .jfilters-item-link--button .jfilters-item__text:hover {
	border: 1px solid var(--2ndclr);
	background-color: var(--2ndclr);
	box-shadow: none;
}

/* Filter Radio */



.jfilters-item-link--dummy-input::before {
	width: 20px;
	height: 20px;
	border: 2px solid var(--2ndclr);
}

.kontaktfilter .jfilters-item-link--dummy-input::before {
	border: 1px solid var(--1stclr);
	background: transparent;
}

.jfilters-item-link--selected.jfilters-item-link--radio .jfilters-item__label-text::before, .jfilters-item-link--radio:focus .jfilters-item__label-text::before, .jfilters-item-link--radio:hover .jfilters-item__label-text::before {
	--radio-circle-scale: 0.25;
	background-color: var(--1stclr);
	border-radius: 100%;
	transform: scale(var(--radio-circle-scale));
	margin-top: .15rem;
	z-index: 0;
	margin-inline-start: -2.1rem;
}

/*
.jfilters-item-link--selected.jfilters-item-link--radio .jfilters-item__label-text::before, .jfilters-item-link--radio:focus .jfilters-item__label-text::before, .jfilters-item-link--radio:hover .jfilters-item__label-text::before {
	--radio-circle-scale: 0.2;
	background-color: var(--1stclr);
	border-radius: 50%;
	transform: scale(var(--radio-circle-scale));
	margin-top: calc((var(--list-item-line-height) - var(--input-item-dummy-size))/ 3.9);
	margin-inline-start: calc((var(--input-item-dummy-size-text-margin) + var(--input-item-dummy-size))/ -0.88);
	z-index: 0;
}
*/

@media (max-width: 1280px){
.jfilters-item-link--selected.jfilters-item-link--radio .jfilters-item__label-text::before, .jfilters-item-link--radio:focus .jfilters-item__label-text::before, .jfilters-item-link--radio:hover .jfilters-item__label-text::before {
	margin-top: .2rem;
	margin-inline-start: -2.05rem;
}

.jfilters-item-link--selected.jfilters-item-link--checkbox .jfilters-item__label-text::before {
	margin-top: 0.2rem;
	margin-left: -2.05rem;
}
	
}



/* Filter Selections */

a.jfilters-selection {
	display: none;
}

.com-finder h3 {
	margin-bottom: 0.3rem!important;
}

.filterclose {
	display: none;
}

@media (max-width: 1024px){
	
.moduletable.filter {
	padding-right: var(--padder);
	margin-block: 0;
}	
	
.filterclose {
	display: block;
	background-image: url(../images/filter.svg);
	cursor: pointer;
	height: 30px;
	width: 30px;
	background-repeat: no-repeat;
	background-position: center;
	margin-top: 1rem;
	margin-bottom: 1rem;
}

.filterclose::before {
	content: '';
	position: relative;
	margin-left: 45px;
	height: 100%;
	top: 0;
	display: grid;
	align-content: center;
	width: 100px;
}	

html[lang="de-de"] .filterclose::before {
	content: 'Filter anzeigen';
}

html[lang="de-de"] .filterclose.active::before {
	content: 'Filter verbergen';
}

html[lang="en-gb"] .filterclose::before {
	content: 'show filter';
}

html[lang="en-gb"] .filterclose.active::before {
	content: 'hide filter';
}

.filterclose.active {

}

.filterclose.active::before {
	content: 'Filter verbergen';
}

.mod-jfilters_filters, .moduletable.filter h3 {
	display: none;
}

.kontaktfilter .mod-jfilters_filters, .kontaktfilter .moduletable.filter h3 {
	display: block;
}

.mod-jfilters_filters.active, .moduletable.filter h3.active {
	display: block;
}

.jfilters-filter-container {
	max-width: 100%;
}

.mod-jfilters_filters.active {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2rem;
	row-gap: 0;
}

}

@media (max-width: 480px){
.mod-jfilters_filters.active {
	grid-template-columns: 1fr;
}	
}	
	

/* Filter allgemein */

.com-finder__counter.search-pages-counter {
	padding-bottom: calc(var(--padder) * 2);
}

/* Pagination */

.pagination {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(2.3rem, max-content));
	justify-content: center;
	grid-gap: 0rem;
	max-width: calc(100vw - var(--padder) - var(--padder));
}

.page-link {
	padding: 0;
}

.page-item {
	margin-left: 0.1rem;
	margin-right: 0.1rem;
}

.page-item.disabled .page-link {
	color: var(--1stclr);
	pointer-events: none;
	background-color: transparent;
	border-color: transparent;
	opacity: 0.5;
}

.page-item:first-child .page-link, .page-item:last-child .page-link {
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}

.page-link {
	color: var(--1stclr);
}

.page-link {
	position: relative;
	display: block;
	color: var(--1stclr);
	text-decoration: none;
	background-color: transparent;
	border: 0px solid #dee2e6;
	text-align: center;
}

.page-link:hover {
	z-index: 0;
	color: var(--2ndclr);
	background-color: var(--1stclr);
	border-color: var(--1stclr);
}

.page-item.active .page-link {
	z-index: 0;
	color: var(--2ndclr);
	background-color: var(--1stclr);
	border-color: var(--1stclr);
}

main .pagination li::before {
	content: '';
	display: none;
}

.icon-angle-double-left::before {
	content: '<<';
}

.icon-angle-left::before {
	content: '<';
}

.icon-angle-double-right::before {
	content: '>>';
}

.icon-angle-right::before {
	content: '>';
}

.com-content-category-blog__navigation {
	display: grid;
	justify-content: center;
	text-align: center;
}

.com-content-category-blog__counter.counter.float-end.pt-3.pe-2 {
	padding: 0;
	padding-right: 0 !important;
	padding-bottom: .5rem;
	padding-top: 2rem !important;
	max-width: 100%;
}

@media (max-width: 810px){
	
.pagenavigation .icon-chevron-left, .pagenavigation .icon-chevron-right {
	width: 20px;
	height: 20px;
	margin-top: 3px;
}

}

/* Startseite */

.container.full.fullheight.bgcover {
	overflow: hidden;
	position: relative;
	min-height: 100vh;
	min-height: 100svh;
}

#myVideo {
	width: 100%;
	height: 100%;
	position: absolute;
	object-fit: cover;
}

.bigintro {
	position: absolute;
	bottom: var(--padder);
}

.bigintro p {
	font-size: var(--font-h3);
}

/*
.bigintro h4 {
  animation-duration: .8s;
  animation-fill-mode: forwards;
  animation-delay: .5s;
  animation-name: comein;
  opacity: 0;
}

*/

@keyframes comein {
  from {
    transform: translateX(-10rem);
    opacity: 0;
  }

  to {
    transform: translateX(0rem);
	opacity: 1;
  }
}

/* .bigintro h1 {
  animation-duration: .8s;
  animation-fill-mode: forwards;
  animation-delay: 1s;
  animation-name: slideup;
  opacity: 0;
} */

.h1anim, .h4anim {
	overflow: hidden;
}
  
.h1anim div, .h4anim div {
	translate: 0 100%;
	animation-name: growup;
	animation-fill-mode: forwards;
	animation-delay: 2.5s;
	animation-duration: .25s;
	animation-timing-function: ease-in;
	line-height: 3;
} 

.h1anim div {
	line-height: .9;
}
  
.h4anim div {
    translate: 0 -100%;
    animation-name: growdown;  
	font-size: var(--font-h3);
}
  
@keyframes growup {
  from {
    translate: 0 100%;
  }

  to {
	translate: 0 0%;
  }
}
  
@keyframes growdown {
  from {
    translate: 0 -100%;
  }

  to {
	translate: 0 0%;
  }
}  
  
.stoerer {
    animation-name: grow;
    animation-fill-mode: forwards;
	animation-delay: 3.3s;
	animation-duration: .3s;
    scale: 0;  
}  
  
@keyframes grow {
  from {
    scale: 0;
  }

  to {
	scale: 1;
  }
} 
  
.nodelay {
  animation-delay: 0.7s!important;
}
  
.smalldelay {
  animation-delay: 1.5s!important;
}  

@keyframes slideup {
  from {
    transform: translateY(3rem);
    opacity: 0;
  }

  to {
    transform: translateY(0rem);
	transition: opacity .8s cubic-bezier(.215,.61,.355,1) .1s,transform .8s cubic-bezier(.215,.61,.355,1) .1s,-webkit-transform .8s cubic-bezier(.215,.61,.355,1) .1s;
	opacity: 1;
  }
}

.stoerer {
	position: absolute;
	bottom: var(--padder);
	right: var(--padder);
	background-color: var(--7thclr);
	text-align: center;
	border-radius: 100%;
	width: 12rem;
	height: 12rem;
	display: grid;
	padding: 1.5rem;
    text-decoration: none;
    transition: transform .3s;
}

.stoerer:hover {
	transform: scale(1.05);
}

.stoerer h2 {
	font-size: var(--font-h1);
	margin-bottom: 0;
	padding-top: .25rem;
}

.introbox {
	height: 100%;
	padding: var(--smallpad);
	text-decoration: none;
	transition: ease-in-out 0.2s;
}

.introwrapper {
	transition: ease-in-out 0.2s;
	position: relative;
}

.highlight {
	position: absolute;
	top: .75rem;
	left: .75rem;
	background-color: var(--3rdclr);
	padding: 0.25rem 0.75rem;
	border-radius: 5rem;
	font-size: var(--font-small);
}

.introbox:hover, .introwrapper:hover {
	scale: 1.02;
	transition: ease-in-out 0.2s;
}

.introbox img {
	width: 100%;
}

.introbox.start {
	background-color: var(--2ndclr);
	display: grid;
	align-items: center;
	justify-content: center;
}

.introbox.start h3 {
	font-family: inktrap-font;
	font-size: var(--font-h3);
}

.masonry-6 .introbox.start {
	padding: var(--padder);
}

.masonry-6 .introbox.start h3 {
	font-size: clamp(var(--font-h3), 2vw, var(--font-h1));
}

.productgrid .introwrapper {
	display: grid;
	grid-template-areas: 'stack';
	place-items: center;
	padding: calc(var(--padder) / 2);
	background-color: var(--2ndclr);
	position: relative;
	height: 100%;
}

.productgrid .introwrapper > * {
	grid-area: stack;
}

.productgrid .introwrapper .introimage img {
	width: 100%;
	translate: 0rem calc(var(--negpad) / 1);
	margin-bottom: 0;
	scale: 0.8;
}

.com-finder .productgrid .introwrapper .introimage img {
	translate: 0rem calc(var(--negpad) / 1.2);
}

.productgrid .introwrapper .introtext {
	position: absolute;
	width: 100%;
	bottom: calc(var(--negpad) / 2);
}

.productgrid .introwrapper .introtext h2 {
	margin-left: 0;
	margin-bottom: calc(var(--padder) / 2);
	height: auto;
}

.productgrid .introwrapper .introtext h2 span {
	-webkit-line-clamp: 3;
	font-family: inktrap-font;
	font-size: var(--font-h2);
}

.productgrid .masonry-6 .introwrapper .introtext h2 span {
	font-size: var(--font-h1);
}

.productgrid p {
	max-width: 100%;
}



@media (max-width: 1500px) {
.stoerer {
	bottom: auto;
	top: calc(var(--padder) * 3.5);
}
}

@media (max-width: 1280px) {

.stoerer {
	width: 10rem;
	height: 10rem;
	padding: 1.25rem;
}
}

@media (max-width: 1024px) {

.even-columns.productgrid {
	display: grid;
	grid-template-columns: 1fr;
	grid-auto-flow: unset;
}
}

@media (max-width: 600px) {

.h4anim div {
	font-size: .85rem;
}

.productgrid .masonry-6 .introwrapper .introtext h2 span {
	font-size: var(--font-h2);
}

.stoerer {
	width: 8rem;
	height: 8rem;
	padding: 1rem;
}

.stoerer h2 {
	font-size: 1.5rem;
	margin-bottom: 0;
	padding-top: 0;
}

.stoerer p {
	font-size: .85rem;
	line-height: 1.2;
}

}

/* Produktseite Übersicht */

.item-content {
	text-decoration: none;
}

.introimage img {
	margin-bottom: 1rem;
	width: 100%;
}

.com-finder__empty {
	clear: both;
}

/* Produkt Detailseite */

model-viewer {
	width: 100%;
	height: 100%;
	background: var(--2ndclr);
	padding: 0;
	z-index: 0;
	position: absolute;
}

model-viewer.active {

	z-index: 1;
}

.zoom3d {
	background-image: url(../images/3d.svg);
	background-size: cover;
	width: 2.5rem;
	height: 2.5rem;
	position: absolute;
	top: 1rem;
	right: 1rem;
	z-index: 2;
	cursor: pointer;
}

.zoom3d.active {
	background-image: url(../images/2d.svg);
}

.masonry-23.products {
	height: auto;
}

.masonry-23.products .container {
	max-width: 100vw;
}

.gallerywrapper {
	position: sticky;
	isolation: isolate;
	top: calc(var(--padder) * 2.5);
}

@media (max-width: 1280px) {
	.gallerywrapper {
	top: calc(var(--padder) * 3);
	}
}

.masonry-23.products .gallery {
	position: relative;
	width: 100%;
	isolation: isolate;
}

.slick-dots {
	position: relative;
	margin: auto;
	bottom: 2.5rem;
}

.slick-dots li button::before {
	font-size: 1.5rem;
}

.gallery img {
	width: 100%;
}

.slick-dots li:only-child {
	display: none;
}

/* Klaptabelle */

.produktklapper h2 {
	font-size: var(--font-p);
	font-family: aktiv-grotesk-condensed, arial;
	font-weight: 500;
}

.fields-container {
	padding: 0;
	margin: 0;
}

.productcontent {
	max-width: 700px;
}

.toptable {
	border-top: 1px solid;
	border-bottom: 1px solid;
}

.productrow {
	display: grid;
	grid-template-columns: 1fr 0.5fr;
	padding: 0.25rem;
	font-size: var(--font-p);
}

.remarks {
	margin-top: 1rem;
	margin-bottom: 2rem;
}

.productdoc, .data3d {
	background-image: url(../images/dokumente.svg);
	background-size: 2rem;
	background-repeat: no-repeat;
	height: 2.5rem;
	padding-left: 2.5rem;
	display: grid;
	align-content: center;
	background-position: 0rem;
	margin-top: 1rem;
	margin-bottom: 0;
}

.data3d {
	background-image: url(../images/3d.svg);
}

.productrow:nth-of-type(2n+2) {
	background: var(--2ndclr);
}

.grid.morecat {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat( auto-fit, minmax(150px, 1fr) );
}

.morecat h3 {
	font-family: inktrap-font;
}

.grid.morecat a {
	text-decoration: none;
}

/* Übersicht */

.introtext .productrow {
	padding: 0;
	grid-template-columns: 1fr;
	background: transparent!important;
}

.introtext .productrow:nth-of-type(n+5) {
	display: none;
}

.introtext span {
	font-size: var(--font-p);
}

/* News */

.newsblock {
	max-width: 100%;
}

.newsblock.item-content {
	text-decoration: none;
	margin-bottom: var(--padder);
}

.newsblock .gallery {
	padding: 0 1.5rem;
	display: grid;
	translate: -1.5rem;
	width: calc(100% + 3rem);
	overflow: hidden;
}

.newsblock .slick-next {
	right: -1.25rem;
}

.newsblock .slick-prev {
	left: -1.25rem;
	z-index: 1;
}

.newsblock .slick-dots {
	position: relative;
	bottom: -.5rem;
}

.newsintro {
	margin-bottom: var(--padder);
}

.moretext {
	height: 0;
	overflow: hidden;
}

.moretext.active {
	height: auto;
	overflow: visible;
}

.lessbtn, .morebtn {
	display: none;
	cursor: pointer;
	text-decoration: none;
}

.lessbtn::before, .morebtn::before {
	content: '';
	background-image: url(../images/klapper.svg);
	background-size: 1rem;
	background-repeat: no-repeat;
	padding-left: 1rem;
	background-position: 0rem;
	transform: rotate(0deg);
	position: relative;
	display: block;
	float: left;
	height: 1.5rem;
	margin-right: .5rem;
}

.lessbtn.active::before {
	transform: rotate(0);
}

.lessbtn.active::before {
	transform: rotate(180deg);
}

.morebtn.active, .lessbtn.active {
	display: block;
}

/* Kontakt */

.kontaktfilter .com-finder.finder {
	padding-top: var(--padder);
	padding-left: calc(var(--padder) * 2);
	padding-bottom: 4rem;
}

.kontaktfilter .com-finder__empty {
	clear: both;
	display: none;
}

@media (max-width: 810px){
.kontaktfilter .com-finder.finder {
padding-top: calc(var(--padder) * 2);
padding-left: var(--padder);
}
}

/* Datenschutz Overrides */

#allgemeine-informationen-zur-datenverarbeitung-auf-der-website, #informationen-ueber-spezifische-datenverarbeitungen-auf-der-website, #general-information-on-data-processing-on-the-website, #information-about-specific-data-processing-on-the-website {
	margin-top: var(--padder);
}

#datenschutzerklaerung, #privacy-policy {
	display: none;
}

/* Footer */

footer {
	background-color: var(--5thclr);
	margin-top: 0rem;
	padding: calc(var(--padder) * 2.5) 0 0 0;
	font-size: var(--font-small);
}

footer .bordertop {
	border-top: 1px solid var(--1stclr);
}

footer .clearblock.medium {
	height: 3rem;
}

footer .masonry-2 {
	grid-template-columns: 100px 1fr;
}

.claim p {
	padding-bottom: 0;
}

.claim.logo {
	background-image: url(../images/logo.svg);
	background-size: 50px;
	background-repeat: no-repeat;
	padding-top: calc(var(--padder) * 3.5);
}

.claim.social-links a {
	margin-right: .5rem;
	text-decoration: none;
}

.claim.social-links a::before {
	content: '';
	width: 1rem;
	height: 1rem;
	position: relative;
	display: inline-block;
	margin-right: .25rem;
	background-size: cover;
	transform: translateY(0.25rem);
}

.facebook::before {
	background-image: url(../images/facebook.svg);
}

/* Footer Menü */

.footernav .nav {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: 1fr;
	font-family: inktrap-font;
	width: 100%;
	font-size: 1.2rem;
	letter-spacing: 0.05em;
	margin-bottom: 2rem;
	gap: 1rem;
}

.footernav .nav a {
	text-decoration: none;
	font-size: var(--font-small);
}

.footernav .nav a:hover {
	text-decoration: underline;
}

@media (max-width: 1280px){
footer .masonry-2 {
	grid-template-columns: 1fr;
	gap: 0;
}
}

@media (max-width: 810px){

footer .row > * {
	margin-bottom: 1rem;
}	

.row.footer-grid {
	grid-template-columns: 1fr;
}

footer .masonry-2.last {
	margin-top: var(--padder);
}

footer .mod-menu.mod-list.nav.grid.even-columns {
	gap: 1rem;
}

footer .row .col-md-1 {
	margin-bottom: 0;
}

footer .row .col-md-3 {
	margin-bottom: 2rem;
}

footer .col-md-3.claim {
	font-weight: bold;
}

footer .row .col-md-3.socialbuttons {
	margin-bottom: 0;
}
	
footer .footerlogo {
	text-align: center;
}

footer .col-md-4.copyright {
	order: 1;
	margin-top: 2rem;
}
}

/* Cookie Hinweis */

#redim-cookiehint-modal {
	padding: var(--padder);
}

#redim-cookiehint {
	font-family: 'inktrap-font';
	background-color: #fff;
}

#redim-cookiehint .cookiebuttons .btn {
	background-color: #000 !important;
}

#redim-cookiehint .cookiebuttons #cookiehintsubmitno {
	background: transparent !important;
	color: #000 !important;
}

#cookiehintinfo {
	margin-top: 1rem;
}


