/* anek-devanagari-200 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Anek Devanagari';
  font-style: normal;
  font-weight: 200;
  src: url('/assets/fonts/anek-devanagari/anek-devanagari-v17-latin-200.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* anek-devanagari-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Anek Devanagari';
  font-style: normal;
  font-weight: 400;
  src: url('/assets/fonts/anek-devanagari/anek-devanagari-v17-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* anek-devanagari-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Anek Devanagari';
  font-style: normal;
  font-weight: 700;
  src: url('/assets/fonts/anek-devanagari/anek-devanagari-v17-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
body {
    font-family: 'Anek Devanagari',"Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
}
.grid-container {
    max-width: 120rem;
}
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6, a{
	color: #004c9a;
}
.cblock h1, .content h1, .cblock h2, .content h2, .startseite h3{
  position: relative;
  padding-left: 80px;
}
.cblock h1::before, .content h1::before,  .cblock h2::before, .content h2::before, .startseite h3::before{
  content: "";
  position: absolute;
  left: 0;
  bottom: 13px;
  transform: translateY(-50%);
  width: 60px;
  height: 14px;
  background-color: #004c9a;
}
h1.headline-without-bar{
	padding-left: 0px;
	color: #004c9a;
}
h1.headline-without-bar::before{
	content: none;
}
h1 {
  font-size: clamp(2.2rem, 4vw, 4.1rem);
}
h2 {
  font-size: clamp(2rem, 3vw, 3.1rem);
}
/*Logo*/
.logo{
	position: relative;
}
.logo img{
	position: absolute;
	left: 0;
	z-index: 9;
}
@media screen and (max-width: 39.9375em) {
	.logo img{
		position: relative;
	}	
}
/* Helper */
img.rot{
    border: solid 8px #be0409;
}
img.orange{
    border: solid 8px #fb7e06;
}
img.blau{
    border: solid 8px #004c9a;
}
.cblock a.extlink:after
{
    font-family: "Font Awesome 5 Free";
    content: "\f35d";
    padding-left:7px;
    font-size: 1em;
    font-weight: 600;
}
.cblock a.no-extlink:after{
    content: "" !important;
}
.bg-blue{
	background: #dbedf4;
	padding-top: 1.75rem;
	padding-bottom: 1.75rem;
}
/**/
.blue-bar {
	margin-top: 2rem;
    display: inline-block;
    background: #004c9a;
    color: #fff;
    padding: 0.5rem 1.5rem;
    padding-top: 0.75rem;
    padding-right: 1.5rem;
    padding-bottom: 0.5rem;
    padding-left: 1.5rem;
    font-weight: 600;
    font-size: 1rem;
    clip-path: polygon(5% 0, 100% 0, 95% 100%, 0% 100%);
    width: 100%;
}
/* pre Hader */
.preHader{
	color: #004c9a;
	margin-top: 1.0rem;
	margin-bottom: 1.0rem;
}
.preHader button{
	/*color: #004c9a;*/
	cursor: pointer;
}
/*Banner*/
.banner{
	position: relative;
	margin-bottom: 2rem;
	border-bottom: #01356B solid 1rem;
}
.banner-inner{
	position: absolute;
    inset: 0;
    display: flex;
  	align-items: center;
	background: #000000;
	background: radial-gradient(circle,rgba(0, 0, 0, 0.5) 0%, rgba(255, 255, 255, 0) 100%);
}
.banner-inner .grid-container{
	width: 100%;
}
.banner{
  font-size: clamp(28px, 4vw, 56px);
  line-height: 1.2;
  text-shadow: #000 3px 4px;
  color: #fff;
}
/*Footer*/
.pre-footer-outer{
	position: relative;
	padding-top: 0.5rem;
	margin-top:  2rem; 
}
.pre-footer{
	background: #01356B;
	background: linear-gradient(90deg,rgba(1, 53, 107, 1) 0%, rgba(0, 76, 154, 1) 51%, rgba(1, 53, 107, 1) 100%);
	color: #fff;
	margin-bottom: 0.5rem;
	margin-top: 0.5rem;
	padding-top: 0.75rem;
	padding-bottom: 0.75rem;
}
.pre-footer::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 0.5rem;
  background: #01356b;
}
.pre-footer-content{
	margin-top: 1rem;
}
.footer{
	background: #004C9A;
	background: linear-gradient(90deg, rgba(0, 76, 154, 1) 0%, rgba(1, 53, 107, 1) 51%, rgba(0, 76, 154, 1) 100%);
	color: #fff;
	padding-top: 1.5rem;
	padding-bottom: 2.75rem;
}
.footer a{
	color: #fff;
}
.footer a:hover, .footer a:focus{
	text-decoration: underline;
}
.footer ul {
    list-style: none;
}
.footer li::before {
    content: "»";
    margin-right: 0.5em;
}
/*Kategorien*/
.KatKachel{
	border: solid 3px #004C9A;
	border-radius: 1rem;
}
.KatKachel-title{
	padding-top: 1rem;
	padding-bottom: 1rem;
	font-size: 1.25rem;
	font-weight: bold;
	hyphens: auto;
}
a:hover .KatKachel, a:focus .KatKachel{
	background-color: #004C9A;
}
a:hover .KatKachel .KatKachel-title, a:focus .KatKachel .KatKachel-title{
	color: #fff;
}
a:hover .KatKachel .button.hollow.secondary, a:focus .KatKachel .button.hollow.secondary{
    border-color: #fff;
    color: #fff;
}
/*Produkte*/
.proKachel{
	border: solid 1px #767676;
	border-radius: 1rem;
	padding: 0.5rem;
}
.proKachel-art{
	color: #000;	
}
.proKachel-img{
	max-height: 250px;
	text-align: center;
}
.proKachel-img img{
	width: auto !important;
}
.proKachel-title{
	padding-top: 0.25rem;
	padding-bottom: 1rem;
	font-size: 1.25rem;
	font-weight: bold;
	hyphens: auto;
	min-height: 80px;
}
.proKachel-desc{
	padding-top: 0.25rem;
	color: #000;	
	min-height: 28px;
}
.proKachel-price{
	font-size: 1.5rem;
}
a:hover .proKachel, a:focus .proKachel{
	background-color: #e6e6e6;
}
a:hover .KatKachel .KatKachel-title, a:focus .KatKachel .KatKachel-title{
	color: #fff;
}
a:hover .KatKachel .button.hollow.secondary, a:focus .KatKachel .button.hollow.secondary{
    border-color: #fff;
    color: #fff;
}
/*Produktbild*/
.productImg {
  position: relative;
}
.productImgZoom {
  position: relative;
  display: inline-block;
}
.productImgSmall {
  display: block;
  max-width: 100%;
  height: auto;
  cursor: zoom-in;
}
.productImgLarge {
  position: absolute;
  top: 0;
  left: 105%;
  width: 500px;
  max-width: none;
  background: #fff;
  border: 1px solid #ccc;
  box-shadow: 0 8px 25px rgba(0,0,0,0.15);
  padding: 10px;
  opacity: 0;
  visibility: hidden;
  transform: scale(0.95);
  transition: all 0.2s ease;
  z-index: 50;
}
.productImgLarge {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 500px;
  transform: translate(-50%, -50%) scale(0.95);
  background: #fff;
  border: 1px solid #ccc;
  box-shadow: 0 8px 25px rgba(0,0,0,0.15);
  padding: 10px;
  opacity: 0;
  visibility: hidden;
  transition: all 0.2s ease;
  z-index: 50;
}
.productImgZoom:hover .productImgLarge {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, -50%) scale(1);
}
.proKachel-img{
	/*width: 312px;*/
    height: 235px;
}
.proKachel-img img {
    width: 312px;
    height: 235px;
    object-fit: contain;
    background: #fff;
}
/* Kasse */
.c-button{
	padding-top: 0.85rem !important;
}
.c-primary-button{
	background: #00994a !important;
	color: #fff;
	border: solid 1px #00994a !important;
	padding-top: 0.85rem;
}
.c-primary-button:hover, .c-primary-button:focus{
	background: #fff !important;
	color: #00994a;
}
.c-cart-item-remove-button{
	border: solid 1px #61151c !important;
}
.c-cart-item-remove-button:hover, .c-cart-item-remove-button:focus{
	background-color: rgba(200, 41, 44, 0.7) !important;
}
/* Warenkorb */
.c-checkout-mode, .c-step.active{
	background-color: #00994a !important;
	color: #fff !important;
}
.c-step.active a {
	color: #fff !important;
}
.c-step.active:after {
    box-shadow: 6px -6px 0 3px #00994a !important;
}
.c-step.active + .c-step:after {
    background: #00994a !important;
}
.c-cart-message p{
	margin-top: 0.75rem;
	margin-bottom: 0.5rem;
}
/* Bestellform */
.orderFormButton .ci-button, .orderFormButton .ci-input{
	float: left;
}
.orderFormButton .ci-button{
	width: 250px;
	height: 39px;
} 
.orderFormButton .ci-input{
	width: 100px;
	margin-right: 0.75rem;
}
.productImg img{
	margin-bottom: 0.75rem;
}
/* PDF Link */
.cblock a.pdflink:before {
    font-family: "Font Awesome 5 Free";
    font-weight: 600;
    content: "\f1c1";
    padding-right: 0.5rem;
}
/* Navigation */
#navigation{
    padding-bottom: 15px;
}
.main-nav{
	margin-top: 1rem;
	margin-bottom: 1rem;
}
.main-nav li a{
	font-size: 1.5vw;
	color: #000 ;
}
.main-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
}
.main-nav ul > li {
    padding: 0 2.5%;
    text-align: center;
    width: -webkit-fill-available;
}
.main-nav ul li a {
  position: relative;
  transition: transform 0.6s ease;
}
.main-nav ul > li > a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0.2rem;
  width: 0%;
  height: 2px;
  background-color: #004c9a;
  transition: width 0.6s ease;
}
.main-nav ul > li > a:hover, .main-nav ul > li.active > a{
  transform: scale(1.05);
}
.main-nav ul > li > a:hover::after, .main-nav ul > li.active > a::after {
  width: 100%;
}
/* Submenü */
.main-nav ul li.has-submenu{
    position: relative;
}
.main-nav ul li.has-submenu ul li{
    text-align: left;
    padding-left: 0rem;
	width: 100%;
    display: block;
    float: none;
}
.main-nav ul li.has-submenu ul li a{
    font-size: clamp(0.75rem, 1vw + 0.5rem, 1.25rem);
}
/*
.main-nav ul > li.has-submenu ul{
	display: none;
}
.main-nav ul li.has-submenu ul{
    display: none;
    position: absolute;
    background-color: #76b729;
    width: 100%;
    left: 0;
}
.main-nav ul li.has-submenu:hover ul{
    display: block;
}
*/
.main-nav ul li.has-submenu ul {
    position: absolute;
    background-color: #fff;
    width: 250px;
    display: block;
    flex-direction: column;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: opacity 0.3s ease, transform 0.3s ease;
    z-index: 10;
    border-right: 2px solid #01356B;
	border-left: 2px solid #01356B;
	border-bottom: 2px solid #01356B;
    padding-bottom: 1rem;
    border-radius: 0 0 5px 5px;
}
.main-nav ul li.has-submenu:hover > ul {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.main-nav ul li.has-submenu > ul li.home {
	display: none;
}
.main-nav ul li.has-submenu ul li a {
    display: block;
    padding: 0.25rem 1rem;
    font-size: 1rem;
    font-weight: normal;
    color: #01356B;
    text-decoration: none;
    transition: background-color 0.3s ease, transform 0.2s ease, box-shadow 0.2s ease;
}
.main-nav ul li.has-submenu ul li a:hover {
    background-color: #fff;
    transform: translateX(4px);
    box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.2);
}
/**/
/* Mobilnav */
.mobil-nav{
    width: 100%;
}
.mobil-nav .top-bar-menu{
    color: #004c9a;
}
.mobil-nav .menu-icon.dark::after{
    background: #004c9a;
    box-shadow: 0 7px 0 #004c9a, 0 14px 0 #004c9a;
}
.mobil-nav a{
    color: #004c9a;
}
.mobil-nav li:hover a{
    font-weight: bold;
}
.mobil-nav li li a, .mobil-nav li:hover li a{
    font-weight: normal;
}
.mobil-nav li li:hover a{
    font-weight: bold;
}
.mobil-nav .menu .active > a{
    background: none;
    text-decoration: underline;
}
/* Sidenavigation */
.sidenav ul{
    list-style: none;
	margin-left: 0px;
	hyphens: auto;
}
.sidenav .level1{
    font-size: 1.25rem;
    padding-left: 30px;
	position: relative;
	padding-top: 5px;
}
.sidenav .level2 {
    font-size: 1.25rem;
	position: relative;
	padding-top: 5px;
}
.sidenav .level1::before {
    position: absolute;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
    content: "\f105";
    margin-left: -20px;
	color: #004c9a;
	top: 2px;
}
.sidenav .level2::before {
	position: absolute;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
    content: "\f101";
    margin-left: -20px;
	color: #004c9a;
    padding-right: 10px;
	top: 2px;
}
.sidenav li.active .level2 {
    display: block;
}
.sidenav .level1.active, .sidenav .level2.active{
	background-color: #004c9a;
	color: #fff;
}
.sidenav .level1.active a, .sidenav .level2.active a{
	color: #fff;
}
.sidenav .level1.active::before, .sidenav .level2.active::before {
	color: #fff;
}
/* Termine */
.terminlist{
    padding-bottom: 25px;
}
.day, .month, .year{
	text-align: center;
	color: #ffffff;
	margin-bottom: -5px;
	background: #0f5075;
}
.day{
	font-size: 2rem;
	font-weight: bold;
	position: relative;
}
.day::after{
	display: block;
    border: inset 6px;
    content: '';
    border-left-style: solid;
    border-color: transparent transparent transparent #efeac7;
    position: absolute;
    top: 50%;
    margin-top: -6px;
}
.month, .year{
	font-size: 1.2rem;
}
/** Timeline v2 **/
.timelines h2 {
	text-align: center;
	color: #fff;
	font-weight: 600;
	margin-bottom: 40px;
	font-size: 32px;
}
.d-flex-2 {
	display: flex;
	align-items: center;
}
.timeline-area {
	padding: 80px 0;
}
.all-timelines {
	position: relative;
}
.timelines h2 {
	text-align: center;
	color: #0a0a0a;
	font-weight: 600;
	margin-bottom: 40px;
}
.all-timelines::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	height: 100%;
	width: 2px;
	background: #006e9d;
	top: 20px;
}
.single-timeline {
	margin-bottom: 22px;
}
.timeline-blank {
	width: 50%;
}
.timeline-text {
	width: 50%;
	padding-left: 30px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	position: relative;
}
.timeline-text h6 {
	color: #006e9d;
	font-weight: 900;
	display: inline-block;
	font-size: 1rem;
}
.timeline-text span {
	color: #0a0a0a;
	display: block;
	width: 100%;
}
.single-timeline:nth-child(even) .timeline-text span {
	text-align: right;
}
.t-square {
	content: "";
	position: absolute;
	width: 12px;
	height: 12px;
	left: -6px;
	background: #006e9d;
}
.single-timeline:nth-child(even) {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;
}
.single-timeline:nth-child(even) .t-square {
	right: -6px;
	left: unset;
}
.single-timeline:nth-child(even) .timeline-text {
	padding-left: 0;
	padding-right: 30px;
	text-align: right;
}

@media all and (max-width: 991px) {
}
@media all and (max-width: 768px) {
	.all-timelines::before {
		right: unset;
		top: 0;
	}
	.single-timeline:nth-child(2n) .timeline-text {
		padding-left: 30px;
		padding-right: 0;
		text-align: left;
	}
	.single-timeline:nth-child(2n) .t-square {
		left: -6px;
		right: unset;
	}
	.timeline-blank {
		display: none;
	}
	.timeline-text {
		width: 100%; 
	}
	.single-timeline:nth-child(even) .timeline-text span {
		text-align: left !important;
	}
}
@media all and (max-width: 575px) {
}
@media all and (max-width: 360px) {
	.all-timelines::before {
		top: 32px;
	}
}
/* Suche */
.simplesearch-paging{
	padding-top: 1rem;
	padding-bottom: 1rem;
}
/** Timeline V2 - ENDE **/
/* Blog */
.posts{
    padding-top: 25px;
}
.post_date{
    padding-right: 5px;
}
.post_text{
    padding-left: 15px;
}
.post{
	padding-bottom: 25px;
}
.post h2{
		font-size: 1.5rem;
		line-height: 1.1;
}
.post h2 a{
	color: #e30613;
	font-size: 1.5rem;
}
.vorschau{
	border: solid 5px #5a5a5a;
}
.day{
	font-size: 2rem;
	font-weight: bold;
	background: #e30613;
}
.month, .year{
	font-size: 1.2rem;
	background: #9d9c98;
}
.readmore{
	background-color: transparent;
	border: 1px solid #5a5a5a;
    border-radius: 5px;
    color: #5a5a5a;
    padding-left: 35px;
    padding-right: 35px;
    float: right;
}
.readmore:hover, .readmore:focus {
    background-color: #ebebeb;
    color: #5a5a5a;
}
.aktuelles a.readmore{
    position: absolute;
    bottom: 0;
}
.paging{
	padding-bottom: 25px;
}
.paging li:before{
	content: none !important;
}
.paging li{
	float:left;
	list-style: none;
	padding-right: 15px;
}
.blogTags h3, .blogArchiv h3{
    color: #0f5075;
    font-size: 1.5rem;
}
.blogTags a, .blogArchiv a{
	color: #5a5a5a;
}
.blogTags ul, .blogArchiv ul{
    list-style: none;
}
/* Kontakt */
.faerstaeggt {
    display: none;
}
.content input.error, .content textarea.error, .content div.error {
    border-color: #ff0000;
}
.content div.error {
    border: dotted 1px #ff0000;
}
.alert .alert-error{
    color: #ff0000;
}
.kontaktForm tbody tr:nth-child(even), .kontaktForm tr{
    background: none;
}
.kontaktForm tbody{
    border: none;
}
/* Accordion */
.accordion{
	background: none;
}
.accordion-item{
    border: solid 1px #01356B;
    margin-bottom: 1rem;
	border-radius: 1rem 0;
    overflow: hidden;
} 
.accordion-title{
	background: #fff;
    color: #0a0a0a;
    text-decoration: none;
    font-size: clamp(1.0rem, 1vw + 0.5rem, 1.6rem);
}
.accordion-title:hover,.accordion-title:focus{
    text-decoration: none;
}
.accordion-item.is-active > .accordion-title{
    background: #01356B;
    color: #fff;
    border: 1px solid #01356B;
}
.accordion-title:hover, .accordion-title:focus{
    background: #01356B;
    color: #fff;
}
/* Accordion - ENDE */
/* CookieMeldung  */
.cookiePopUp{
    background: #fff;
    position: sticky;
    bottom: 0;
    width: 100%;
}
.uc-btn-footer-container{
    text-align: center;
}
#uc-banner-modal{
    display: none !important;
}
#usercentrics-button #uc-banner-modal .uc-banner-content{
    background-color: #fff !important;
}
#usercentrics-button #uc-banner-modal .uc-optin-description{
    color: #000 !important;
}
#uc-btn-deny-banner, #uc-btn-more-info-banner{
    color: #ffffff !important;
    background-color: #dadada !important;
}
#uc-btn-accept-banner{
    color: #0b1932 !important;
    background-color: #fedc33 !important;   
}
/* Back to Top */
	.cd-top {
		z-index:500;
		display: inline-block;
	  	height: 40px;
	  	width: 40px;
	  	position: fixed;
	  	bottom: 53px;
	  	right: 10px;
	  	box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
	  /* image replacement properties */
	  	overflow: hidden;
	  	text-indent: 100%;
	  	white-space: nowrap;
	  	background: rgba(120, 138, 146, 0.8) url(/assets/img/layout/cd-top-arrow.svg) no-repeat center 50%;
	  	/*visibility: hidden;*/
	  	opacity: 0;
	  	-webkit-transition: opacity .3s 0s, visibility 0s .3s;
	  	-moz-transition: opacity .3s 0s, visibility 0s .3s;
	  	transition: opacity .3s 0s, visibility 0s .3s;
	}
	.cd-top.cd-is-visible, .cd-top.cd-fade-out, .no-touch .cd-top:hover {
	  	-webkit-transition: opacity .3s 0s, visibility 0s 0s;
	  	-moz-transition: opacity .3s 0s, visibility 0s 0s;
	  	transition: opacity .3s 0s, visibility 0s 0s;
	}
	.cd-top.cd-is-visible {
	  /* the button becomes visible */
	  visibility: visible;
	  opacity: 1;
	}
	.cd-top.cd-fade-out {
	  /* if the user keeps scrolling down, the button is out of focus and becomes less visible */
	  	opacity: .5;
	}
	.no-touch .cd-top:hover {
	  	background-color: #788a92;
	  	opacity: 1;
	}
/* Shop */
.charButton, .c-button.c-primary-button{
	color: #fff;
	background: #004c9a;
	border: solid 1px #004c9a;
	border-radius: 0.5rem;
	padding-left: 2rem;
	padding-right: 2rem;
	padding-bottom: 0.1rem;
	padding-top: 0.4rem;
}
.charButton:hover, .charButton:focus, .c-button.c-primary-button:hover, .c-button.c-primary-button:focus{
	color: #004c9a;
	background: #fff;
	border: solid 1px #004c9a;
}
.charButton-outer{
	margin-top: 1.5rem;
    margin-bottom: 1rem;
}
.c-button.c-primary-button{
	padding-top: 0.5rem !important;
}
.c-checkout-account{
	max-width: 1024px !important;
}
.c-checkout-account h2{
	font-size: 1.5rem;
	padding-left: 0;
}
.c-checkout-account h2::before{
	content: none;
    position: relative;
    bottom: 0px;
    transform: none;
    width: 0px;
    height: 0px;
    background-color: none;
}
.c-checkout-account button.charButton{
	padding-top: 0.9rem !important;
    padding-bottom: 0.4rem;
}
/* 4K-Anpassungen  */
@media screen and (min-width: 1980px){
    .main-nav li a{
        font-size: 1.6rem;    
    }
    .banner img{
        width: 100%;
    }
}