@charset "utf-8";
/* CSS Document */
/* Wahrhusen */
/* Copyright 2026 Hoppe Websolutions */
/* fira-sans-300 - latin */
@font-face {
  font-family: 'Fira Sans';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/fira-sans-v15-latin-300.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/fira-sans-v15-latin-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/fira-sans-v15-latin-300.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/fira-sans-v15-latin-300.woff') format('woff'), /* Modern Browsers */
       url('../fonts/fira-sans-v15-latin-300.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/fira-sans-v15-latin-300.svg#FiraSans') format('svg'); /* Legacy iOS */
}
/* fira-sans-regular - latin */
@font-face {
  font-family: 'Fira Sans';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/fira-sans-v15-latin-regular.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/fira-sans-v15-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/fira-sans-v15-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/fira-sans-v15-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('../fonts/fira-sans-v15-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/fira-sans-v15-latin-regular.svg#FiraSans') format('svg'); /* Legacy iOS */
}
/* fira-sans-600 - latin */
@font-face {
  font-family: 'Fira Sans';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/fira-sans-v15-latin-600.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/fira-sans-v15-latin-600.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/fira-sans-v15-latin-600.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/fira-sans-v15-latin-600.woff') format('woff'), /* Modern Browsers */
       url('../fonts/fira-sans-v15-latin-600.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/fira-sans-v15-latin-600.svg#FiraSans') format('svg'); /* Legacy iOS */
}
/* fira-sans-extra-condensed-300 - latin */
@font-face {
  font-family: 'Fira Sans Extra Condensed';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/fira-sans-extra-condensed-v8-latin-300.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/fira-sans-extra-condensed-v8-latin-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/fira-sans-extra-condensed-v8-latin-300.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/fira-sans-extra-condensed-v8-latin-300.woff') format('woff'), /* Modern Browsers */
       url('../fonts/fira-sans-extra-condensed-v8-latin-300.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/fira-sans-extra-condensed-v8-latin-300.svg#FiraSansExtraCondensed') format('svg'); /* Legacy iOS */
}
@font-face {
  font-family: 'fontello';
  src: url('../fonts/fontello.eot?27595616');
  src: url('../fonts/fontello.eot?27595616#iefix') format('embedded-opentype'),
       url('../fonts/fontello.woff2?27595616') format('woff2'),
       url('../fonts/fontello.woff?27595616') format('woff'),
       url('../fonts/fontello.ttf?27595616') format('truetype'),
       url('../fonts/fontello.svg?27595616#fontello') format('svg');
  font-weight: normal;
  font-style: normal;
}

.clearfix { zoom:1; }
.clearfix:before, .clearfix:after {
	content:"\0020";
	display:block;
	height:0;
	overflow:hidden;
}
.clearfix:after { clear:both; }
* {
	box-sizing: border-box;
}
.preload * {
	transition: none !important;
}
/* Animations */
._first, ._second, ._third {
	opacity: 0;
}
.hidden {
	opacity: 0 !important;
}
.zoom_logo {
	opacity: 0;
}
.loaded {
	opacity: 1 !important;
}
.delay-05s {
    -webkit-animation-delay: 0.5s;
    animation-delay: 0.5s;	
}
.delay-1s {
    -webkit-animation-delay: 1s;
    animation-delay: 1s;	
}
.delay-1p5s {
    -webkit-animation-delay: 1.5s;
    animation-delay: 1.5s;	
}
.duration-1s {
	-webkit-animation-duration: 1s !important;
	animation-duration: 1s !important;
}
.duration-2s {
	-webkit-animation-duration: 2s !important;
	animation-duration: 2s !important;
}
.duration-3s {
	-webkit-animation-duration: 3s !important;
	animation-duration: 3s !important;
}
.animated {
	animation-duration: 1s;
	animation-fill-mode: both;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}
.fadeIn {
  animation-name: fadeIn;
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }

  to {
    opacity: 1;
    transform: none;
  }
}
.fadeInUp {
  animation-name: fadeInUp;
}
@keyframes zoomIn {
  from {
    opacity: 0;
    transform: scale3d(.3, .3, .3);
  }

  50% {
    opacity: 1;
  }
}
.zoomIn {
  animation-name: zoomIn;
}
/*************/
/*html {
	height: 100vh !important;
	min-height: 100%;
	overflow-y: scroll;
}*/
html {
	height: 100%;
	overflow-y: scroll !important;
	font-size: 100%;
	box-sizing: border-box;
	scroll-behavior: smooth;
}
*, *:before, *:after {
	box-sizing: inherit;
}
body {
	/*position: relative;*/
	font-family: 'Fira Sans', sans-serif;
	font-size: 100%;
	line-height: 1.6;
	color: #666;
	font-weight: 300;
	/*-webkit-background-size: cover;*/
}
#content {
	position: relative;
}
span.not-mobile, .not-mobile {
	display: none;
}
br.not-mobile {
	display: none;
}
p, ul, ol ,dl, h1, h2, h3, h4, h5, h6 {
	margin: 0;
	padding: 0 0 1em 0;
}
p, ul, ol ,dl {
	font-size: 1em;
}
ul {
	list-style-type: square;
	margin-left: 1em;
	padding-left: 1em;
	margin-left: 0.125em;
}
ol {
	margin-left: 0.6rem;
	padding-left: 0.6rem;	
}
ul li, ol li {
	/*padding-bottom: 0.4em;*/
}
h1, h2, h3, h4 {
	font-family: 'Fira Sans Extra Condensed', sans-serif;
	font-weight: 300;
	line-height: 1.2;
	padding-bottom: 0.5em;
	color: #903;
}
h1 {
	font-size: 1.75em;
	line-height: 1.1;
	text-shadow: 0px 0.03em 0.08em rgba(0,0,0,0.25);
}
h1 span {
	font-size: 85%;
	color: #231f20;
}
h2 {
	font-size: 1.5em;
	font-weight: 300;
	padding-bottom: 0.5em;
	text-shadow: 0px 0.03em 0.08em rgba(0,0,0,0.25);
}
h3 {
	font-size: 1.25em;
	font-weight: 300;
	padding-bottom: 0.5em;
}
h4 {
	font-size: 1.1em;
	font-weight: 300;
	padding-bottom: 0.5em;
}

/* Links im Content */
a:link {
	color: #403a3b;
	text-decoration: none;
}
a:visited {
	color: #403a3b;
	text-decoration: none;	
}  
a:hover, a:focus {
	color: #403a3b;
	text-decoration: underline;	
}  
a:active {
	color: #403a3b;
	text-decoration: none;	
}
/* Text-Links im Content */
.text-link {
	text-decoration: none !important;
	color: #666;
	padding: 0;
	transition: all 0.5s cubic-bezier(.25,.8,.25,1);
}
.text-link:link {
	border-bottom: 2px solid #999;
}
.text-link:visited {
	border-bottom: 2px solid #999;
}
.text-link:hover, .text-link:focus {
	border-bottom: 2px solid #903;
}
.text-link:active {
	border-bottom: 2px solid #999;
}


#head {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 90px;
	transition: all 0.5s ease-in-out;
	z-index: 3;
}
#head.scrolled {
	background-color: #CCC;
	box-shadow: 0 8px 20px 0 rgba(0,0,0,.25);	
}

.nav-wrapper {
	width: 100%;
	margin: 0 auto;
	/*max-width: 120rem;*/
	position: relative;
	transition: all 0.3s ease-in-out;
}
.nav-wrapper.nav_show, .nav-wrapper.scrolled {
	background-color: #f5f5f5;
}
.nav-wrapper.scrolled {
	box-shadow: 0px 0.75em 1.5em rgba(0,0,0,0.2);
}
.logo-wrapper {
	position: relative;
	width: 100%;
	margin: 0 auto;
	max-width: 90rem;	
}

.menu-trigger {
	width: 100%;
	height: 90px;
	transition: all 0.3s ease-in-out;
}
.menu-trigger.scrolled {
	background-color: #20507c;
}
.logo {
	position: absolute;
	top: 0;
	left: 0;
	width: 70%;
	height: auto;
	margin-left: 1em;
	transition: all 0.5s ease-in-out;
	z-index: 4;
}
.logo_img {
	float: left;
	width: 5em;
	padding-top: 0.25rem;
}
.logo_img img {
	width: 100%;
	height: auto;
}
.logo_txt {
	float: left;
	text-transform: uppercase;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.1;
	color: transparent;
	padding: 1.5rem 0 0 0.5rem;
}
.logo_txt span {
	font-size: 150%;
}
.logo.scrolled {
	margin-top: 0em;
}
.logo a {
	text-decoration: none !important;
	line-height: 0;
}

/* Hamburger */
#hamburger {
	float: right;
	width: auto;
	text-align: right !important;
	position: relative;
	font-size: 40px;
	font-weight: 300;
	line-height: 2.2;
	padding: 0;
	margin: 0;
	padding-right: 0.5em;
	cursor: pointer;
	color: #FFF;
	display: block;
	border: 0;
	outline: 0;
	z-index: 1000;
}
#hamburger {
	padding: 2rem 3rem 0 0;
	display: block;
	cursor: pointer;
	transition-property: opacity, filter;
	transition-duration: 0.15s;
	transition-timing-function: linear;
	font: inherit;
	color: inherit;
	text-transform: none;
	background-color: transparent;
	border: 0;
	margin: 0;
	overflow: visible;
}
.hamburger-box {
	width: 30px;
	height: 24px;
	display: inline-block;
	position: relative;
}
.hamburger-inner {
	display: block;
	top: 50%;
	margin-top: -2px;
}
.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
	width: 60px;
	height: 6px;
	background-color: #903;
	border-radius: 4px;
	position: absolute;
	transition-property: transform;
	transition-duration: 0.15s;
	transition-timing-function: ease;
}
#hamburger:hover > .hamburger-box .hamburger-inner, #hamburger:hover > .hamburger-box .hamburger-inner::before, #hamburger:hover > .hamburger-box .hamburger-inner::after {
	background-color: #231f20;
}
.hamburger-inner::before, .hamburger-inner::after {
	content: "";
	display: block;
}
.hamburger-inner::before {
	top: -16px;
}
.hamburger-inner::after {
	bottom: -16px;
}
.hamburger--spin .hamburger-inner {
	transition-duration: 0.22s;
	transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--spin .hamburger-inner::before {
	transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in;
}
.hamburger--spin .hamburger-inner::after {
	transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--spin.is-active .hamburger-inner {
	transform: rotate(225deg);
	transition-delay: 0.12s;
	transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
 }
.hamburger--spin.is-active .hamburger-inner::before {
	top: 0;
	opacity: 0;
	transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out;
}
.hamburger--spin.is-active .hamburger-inner::after {
	bottom: 0;
	transform: rotate(-90deg);
	transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
}

section {
	width: 100%;
/*	padding: 0 0 4em 0;
	padding: 2em 0;*/
	margin: 0;
	padding: 0;
	background-color: #FFF;
}
/*section.start {
	padding-top: 0;
}*/
.division {
	width: 100%;
	padding: 2em 0;
	margin: 0;
	background-color: #FFF;	
}
.division.start {
	padding-top: 1rem;
}

.wrapper, .wrapper-bilder {
	position: relative;
	margin: 0 auto;
	width: 90%;
	max-width: 1100px;
	padding-top: 1rem;
}
.wrapper-bilder {
	max-width: 1440px;
}
.wrapper._items {
	padding-top: 0;
}

/* Header image and slogan */
#cover-img {
	position: relative;
	margin: 0 auto;
	max-width: 1920px;
	height: 40vh;
	min-height: 10rem;
	max-height: 18rem;
/*	background-color: #f5f5f5;*/
	
/*	background: -moz-linear-gradient(top,  rgba(255,255,255,0.8) 0%, rgba(255,255,255,0) 60%, rgba(255,255,255,0) 100%);
	background: -webkit-linear-gradient(top,  rgba(255,255,255,0.8) 0%,rgba(255,255,255,0) 60%,rgba(255,255,255,0) 100%);
	background: linear-gradient(to bottom,  rgba(255,255,255,0.8) 0%,rgba(255,255,255,0) 60%,rgba(255,255,255,0) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ccffffff', endColorstr='#00ffffff',GradientType=0 );*/
	
	background: -moz-linear-gradient(top,  rgba(255,255,255,0.9) 0%, rgba(255,255,255,0.8) 20%, rgba(255,255,255,0.1) 60%, rgba(255,255,255,0) 100%);
	background: -webkit-linear-gradient(top,  rgba(255,255,255,0.9) 0%,rgba(255,255,255,0.8) 20%,rgba(255,255,255,0.1) 60%,rgba(255,255,255,0) 100%);
	background: linear-gradient(to bottom,  rgba(255,255,255,0.9) 0%,rgba(255,255,255,0.8) 20%,rgba(255,255,255,0.1) 60%,rgba(255,255,255,0) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ccffffff', endColorstr='#00ffffff',GradientType=0 );	
	
}
#index #cover-img {
	height: 50vh;
	min-height: 12rem;
	max-height: 20rem;	
}
#index #cover-img::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: #f5f5f5 url(../img/start-s-min.jpg) left bottom no-repeat;
	background-size: cover;
	z-index: -1;
	opacity: 0.75;
}
#grabmale #cover-img::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: #f5f5f5 url(../img/grabmale-s-min.jpg) left bottom no-repeat;
	background-size: cover;
	z-index: -1;
	opacity: 0.9;
}
#grabgestaltung #cover-img::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: #f5f5f5 url(../img/grabgestaltung-s-min.jpg) left top no-repeat;
	background: #f5f5f5 url(../img/grabgestaltung-neu-s.jpg) left top no-repeat;
	background-size: cover;
	z-index: -1;
	/*opacity: 0.75;*/
}
#grabschmuck #cover-img::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: #f5f5f5 url(../img/grabschmuck-s-min.jpg) center center no-repeat;
	background-size: cover;
	z-index: -1;
	/*opacity: 0.75;*/
}
#about #cover-img::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	/*background: #f5f5f5 url(../img/about-s-min.jpg) center center no-repeat;*/
	background: #f5f5f5 url(../img/about-neu.jpg) center center no-repeat;
	background-size: cover;
	z-index: -1;
	/*opacity: 0.75;*/
}
#kontakt #cover-img::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: #f5f5f5 url(../img/kontakt-s.jpg) center center no-repeat;
	background-size: cover;
	z-index: -1;
	/*opacity: 0.75;*/
}
#impressum #cover-img::before, #datenschutz #cover-img::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: #f5f5f5 url(../img/start-s-min.jpg) left bottom no-repeat;
	background-size: cover;
	z-index: -1;
	opacity: 0.75;
}

.slogan-wrapper {
	position: absolute;
	margin: 0 auto;
	width: 100%;
	bottom: 0;
	left: 0;
	right: 0;
	height: auto;
}
.slogan {
}
.slogan-items-wrapper {
	position: relative;
	margin: 0 auto;
	width: 90%;
	max-width: 1100px;
}
.slogan-item {
	float: left;
	width: 30%;
	padding: 0.25em 0;
	background-color: rgba(153,0,51,0.5);
	color: #FFF;
	margin: 0 5% 0 0;
	text-align: center;
	font-size: 3.8vw;
	font-weight: 400;
	border-top-left-radius: 8px;
	border-top-right-radius: 8px;
}
.slogan-item._second {
	background-color: rgba(35,31,32,0.5);
}
.slogan-item._third {
	margin-right: 0;
}

/* Navigation */
/* Mobile fixed Navigation scrollbar machen */
.nav-list {
	max-height: calc(100vh - 4em);
	overflow-y: scroll;
	scrollbar-visibility: hidden;
	scrollbar-width: none;
	-ms-overflow-style: none;
}
.nav-list::-webkit-scrollbar {
	display: none;
}
.nav-list {
	clear: both;
	display: none;
	list-style: none;
	margin: 0;
	padding: 0;
	border-top: 1px solid #903;
	box-shadow: 0px 0.75em 1.5em rgba(0,0,0,0.2);
}
.nav-list li {
	display: block;
	margin: 0;
	padding: 0;
}
.nav-list a {
	background-color: #FFF;
	color: #903;
	display: block;
	font-size: 1.2em;
	font-weight: 400;
	-webkit-font-smoothing: antialiased;
	-moz-font-smoothing: antialiased;
	font-smoothing: antialiased;
	line-height: 20px;
	overflow: visible;
	padding: 0.75em 0 0.75em 2em;
	margin: 0;
	border-bottom: 1px solid #903;
	text-decoration: none;
	transition: all 0.3s ease-in-out;
}
.nav-list a:hover, .nav-list a.active {
	background-color: #903;
	color: #FFF;
}

/*** Footer ***/
.footer-col {
	margin-bottom: 1em;
}
#foot {
	position: relative;
	margin: 0;
	padding: 0;
	font-size: 1em;
	background-color: #FFF;
}
#foot.gray, section.gray, .division.gray {
	background-color: #f5f5f5;
}
#foot .copyright p {
	text-align: center;
	color: #FFF;
}
.copyright-wrapper {
	background-color: #903;
}
.copyright-content {
	margin: 0 auto;
	padding: 4em 0;
	width: 80%;
	max-width: 1100px;
}
.copyright p {
	padding-bottom: 0;
}

/* Contact Data Footer **/
#foot #footer-cols {
	position: relative;
	width: 100%;
	padding: 3em 0 2em 0;
	margin: 0 auto;
}
#foot #footer-cols h3 {
	font-size: 1.5rem;
	font-weight: 300;
	line-height: 1.2;
	padding-bottom: 1em;
}
#foot #footer-cols h4 {
	font-size: 1.125em;
	font-weight: 300;
	padding-top: 0rem;
}
#foot #footer-cols p, #foot #footer-cols dl {
	font-size: 1rem;
}
span._navigation {
}
span._contact1 {
}
span._contact2 {
}
span._navigation::before, span._contact::before {
	font-family: 'fontello';
	font-style: normal;
	font-weight: normal;
	speak: never;
	display: inline-block;
	text-decoration: inherit;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;	
	text-decoration: none;	
	content: '\f008';
	padding-right: 0.25em;
	font-size: 130%;
	line-height: 1.5;
	color: #903;
}
span._contact::before {
	content: '\e803';
}

.footer-col span.phone {
	background: url(../img/phone-blue.png) left bottom no-repeat;
	line-height: 1.5em;
	background-size: 1.3em;
	padding-left: 1.5em;
}
/* Text-Links im Footer */
#foot a {
	text-decoration: none;
	color: #666;
	padding: 0;
	transition: all 0.5s cubic-bezier(.25,.8,.25,1);
}
#foot a:link {
	border-bottom: 2px solid #999;
}
#foot a:visited {
	border-bottom: 2px solid #999;
}
#foot a:hover, #foot a:focus {
	border-bottom: 2px solid #903;
}
#foot a:active {
	border-bottom: 2px solid #999;
}
/* Text-Links im Copyright-Bereich im Footer */
#foot .copyright a {
	text-decoration: none;
	color: #FFF;
	padding: 0;
	transition: all 0.5s cubic-bezier(.25,.8,.25,1);
}
#foot .copyright a:link {
	border-bottom: 2px solid #FFF;
}
#foot .copyright a:visited {
	border-bottom: 2px solid #FFF;
}
#foot .copyright a:hover, #foot .copyright a:focus {
	border-bottom: 2px solid transparent;
}
#foot .copyright a:active {
	border-bottom: 2px solid #FFF;
}

#datenschutz {
	overflow-wrap: break-word;
}

/* Short-Infos für Anschrift, Kontakt und Öffnungszeiten */
.info-wrapper {
	position: relative;
	z-index: 5;
	width: 100%;
	margin: 0 auto;
	height: auto;
	max-width: 1400px;
}
div.short-infos {
	display: block;
	height: auto;
	margin-top: -3vw;
	z-index: 1;
}
div.short-infos h3 {
	font-size: 1.5vw;
	color: #FFF;
}
div.short-infos p {
	font-size: 1.0vw;
	color: #FFF;
}
.info {
	float: left;
	position: relative;
	width: 33.333333%;
	text-align: center;
}
.location::before, .contact::before, .opening::before {
	font-family: 'fontello';
	font-style: normal;
	font-weight: normal;
	speak: never;
	display: inline-block;
	text-decoration: inherit;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;	
	text-decoration: none;	
	content: '\e803';
	background-color: #000;
	padding: 1rem;
	line-height: auto;
	border-radius: 50%;
	font-size: 4vw;
	width: 4vw;
	text-align: center;
	vertical-align: middle;
	line-height: 4vw;
	color: #FFF;
}
.contact::before {
	content: '\e802';
}
.opening::before {
	content: '\e801';
}

.info span.shorten {
	display: inline-block;
	white-space: nowrap;
	overflow: hidden;
	max-width: 100%;
	text-overflow: ellipsis;
}

/* Scroll To Top Scroll Funktion*/
div.totop {
	position: fixed;
	text-align: right;
	right: calc(1rem + 5vw);
	bottom: 12rem;
	z-index: 1;
	opacity: 0;
	background-color: #FFF;
	transition: all 0.5s ease-in-out;
}
div.totop::after {
	font-family: 'fontello';
	font-style: normal;
	font-weight: normal;
	font-size: 3rem;
	line-height: 1;
	speak: never;
	display: inline-block;
	text-decoration: inherit;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;	
	content: '\e812';
	color: #5b9832;
	color: #231f20;
	text-decoration: inherit;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
div.totop.scrolled {
	opacity: 0.6;
}
div.totop:hover.onTop {
	opacity: 0;
}
div.totop:hover {
	opacity: 1;
}
section.last {
	padding-bottom: calc(5rem + 20vw);
}

/* Teaser Items */
.item {
	max-width: 400px;
	margin: 2em auto;
	padding: 0 0 0.5em 0;
	background-color: #FFF;
	border-radius: 8px;
	box-shadow: 0 22px 64px -20px rgba(0,0,0,.2), 0 0px 10px rgba(0,0,0,0.03);	
}
.item-text {
	text-align: center;
	margin: 0;
	padding: 0 1.25em;
}
.item-text h3 {
	font-size: 1.5rem;
	line-height: 1.4;
	padding: 1.25em 0 0.75em 0;
	padding: 0.75em 0 0.5em 0;
}
.item-text h3 a {
	text-decoration: none;
	color: #903;
	padding: 0;
	transition: all 0.5s cubic-bezier(.25,.8,.25,1);
}
.item-text h3 a:link {
	border-bottom: 3px solid transparent;
}
.item-text h3 a:visited {
	border-bottom: 3px solid transparent;
}
.item-text h3 a:hover, .item-text h3 a:focus {
	border-bottom: 3px solid #903;
}
.item-text h3 a:active {
	border-bottom: 3px solid transparent;
}

.item figure {
	padding: 0;
	margin: 0;
	text-align: center;
	position: relative;
	overflow: hidden;
	line-height: 0;
	border-top-left-radius: 8px;
	border-top-right-radius: 8px;	
}
.item figure img {
	width: 100%;
	max-width: 400px;
	height: auto;
	border-top-left-radius: 8px;
	border-top-right-radius: 8px;
	transition: all 1s cubic-bezier(.25,.8,.25,1);
	-webkit-transform: scale(1.00);
	transform: scale(1.00);	
}
.item figure img:hover {
	-webkit-transform: scale(1.15);
	transform: scale(1.15);	
}
.item figure a {
	line-height: 0;
}
/* More Link Button, Route Button */
p.more_button {
	margin: 1em 0;
	display: block;
	text-align: center;
}
p.route_button, p.phone_button, p.mail_button {
	margin: 0.5em 0 1.5em 0;
	display: block;	
	text-align: left;
}
p.route_button {
	margin-bottom: 0;
}
p.phone_button, p.mail_button {
	margin: 0;
	text-align: center;
}
p.more_button a, p.route_button a, p.phone_button a, p.mail_button a {
	position: relative;
	padding: 1em 1em;
	font-weight: 400;
	font-size: 0.875rem;
	color: #FFF;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 2px;
	background-color: #903;
	border-radius: 5px;
	border-radius: 2em;
	transition: all ease 0.3s;
}
p.route_button a, p.phone_button a, p.mail_button a {
	padding-left: 2.5em;
}
p.route_button a {
	padding-right: 2.5em;
}
p.phone_button a, p.mail_button a {
	font-size: 0.9em;
	padding-left: 3.75em;
	padding-right: 2em;
}
p.route_button a::before, p.phone_button a::before, p.mail_button a::before  {
	font-family: 'fontello';
	font-style: normal;
	font-weight: normal;
	speak: never;
	display: inline-block;
	text-decoration: inherit;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;	
	text-decoration: none;	
	content: '\e803';
	font-size: 160%;
	line-height: 1.5;
	color: #FFF;
	position: absolute;
	top: 50%;
	left: 0.6em;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	transition: all ease 0.3s;
}
p.phone_button a::before {
	left: 1em;
	content: '\e802';
}
p.mail_button a::before {
	left: 1em;
	content: '\e805';
}

p.more_button a:hover, p.route_button a:hover, p.phone_button a:hover, p.mail_button a:hover {
	background-color: #231f20;
	text-decoration: none;
}
/* Bilder Galerien */
.bilder {
	width: 100%;
	margin: 0;
	pading: 0;
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
}
.bild {
	margin: 0;
	padding: 1em;
	width: 100%;
	height: auto;
	text-align: center;	
}
.bild figure {
	line-height: 0;
	margin: 0;
	padding: 0;
	border-radius: 8px;
	border: 2px solid #fff;
	box-shadow: 0px 7px 20px -3px rgba(28,42,72,0.25);
	overflow: hidden;
}
.bild figure img {
	width: 100%;
	height: auto;
	transition: all 1s cubic-bezier(.25,.8,.25,1);
}
.bild figure img:hover {
	-webkit-transform: scale(1.10);
	transform: scale(1.15);
	cursor: zoom-in;
}

/* Schnell-Kontakt Flex-Box */
.kontakte {
	width: 100%;
	margin: 0;
	pading: 0;
	padding: 1em 0 2em 0;
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	background-color: #eee;
	border-radius: 2em;
}	
.kontakt {
	margin: 0;
	padding: 1em;
	padding: 1em 0;
	width: 100%;
	height: auto;
	text-align: center;
}
p.kontakt_description {
	font-weight: 500;
}

/* Zitat */
blockquote {
	font-size: 1.125em;
	/*font-size: 1.5em;*/
	width: auto;
	margin: 1em 0 2em 0;
	font-style: italic;
	padding: 1.25em 2em 1.25em 4em;
	line-height: 1.6;
	position: relative;
	background-color: #f5f5f5;
}
blockquote::before {
	font-family: Arial, Helvetica, sans-serif;
	content: "\201C";
	color: #903;
	font-size: 5em;
	position: absolute;
	left: 0.125em;
	top: -0.25em;
}
blockquote::after {
	content: '';
}
blockquote span {
	display: block;
	color: #903;
	font-weight: 400;
	margin-top: 1em;
}

/* Flex Boxen */
/*.flex_container {
	margin-bottom: 2em;
}
.flex_box {
	padding: 0 0 1.5em 0;
}*/
.center-mobile {
	text-align: center;
	margin: 0.5em;
}
.flex_box img {
	width: 100%;
	max-width: 500px;
	height: auto;
	border-radius: 8px;
	border: 2px solid #fff;
	box-shadow: 0px 7px 20px -3px rgba(28,42,72,0.25);	
}

/* External Links */
a[rel="noopener"]::after, span.ext_link::after {
	font-family: 'fontello';
	font-style: normal;
	font-weight: normal;
	speak: never;
	display: inline-block;
	text-decoration: inherit;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;	
	text-decoration: none;
	content: '\f08e';
	font-size: 85%;
	line-height: 1;
	margin-left: 0.5em;
	vertical-align: text-top;
	/*color: #fff;*/
/*	position: absolute;
	right: 0.75em;*/
}
p.route_button a[rel="noopener"]::after {
	position: absolute;
	right: 0.75em;
	font-size: 1.125em;
	/*vertical-align: middle;*/
}
/*span.ext_link::after {
	position: relative;
}*/
a[rel="noopener"], span.ext_link {
	white-space: nowrap;
}

.flex_box figure {
	margin: 0;
}
.flex_box figure figcaption {
	font-size: 90%;
}

@media only screen and (min-width: 22.5em) { 
  .logo_txt {
	  color: #231f20;
  }
  .logo_txt span {
	  color: #903;
  }  
}
@media only screen and (min-width: 30em) {
  .slogan-item {
	  font-size: 3vw;
  }
}

@media only screen and (min-width: 40em) {
  .slogan-item {
	  font-size: 2.5vw;
  }
  /* Teaser Items */
  .wrapper._items {
	  width: 90%;
	  max-width: 1920px;
  }  
  .items {
	  margin: 2em 0;
	  margin: 0 0 2em 0;
  }
  .item {
	  float: left;
	  width: 47.5%;
	  max-width: none;
	  margin: 2em 5% 2em 0;
	  padding-top: 0;
  }
  .item:nth-of-type(2n+0) {
	  margin-right: 0;
  }
  .item figure {
	  max-height: 20em;
	  display: flex;
	  align-items: center;
  }
  .item figure a img {
	  width: 100%;
	  max-width: none;
  }	
  .item-text {
	  padding-bottom: 0em;
  }
  .item-text p {
	  font-size: 1rem;
  }  
  
  /**** Kontaktdaten im Footer ***/	
  #foot #footer-cols {
	  position: relative;
	  width: 100%;
	  padding: 3em 0 2em 0;
	  text-align: left;
  }
  .footer-col {
	  float: left;
	  width: 50%;
	  text-align: left;
  }	
  ._contact2 {
	  width: 100%;
  }
  .footer-col dl {
	  display: inline-block;
  } 
  
  .bild, .kontakt {
	  width: 50%;
  }
}

@media only screen and (max-width: 63.99999em) and (orientation: landscape) {
	#cover-img {
		min-height: 15rem;
	}
	#index #cover-img {
		min-height: 18rem;
	}	
	#index #cover-img::before {
		background: #f5f5f5 url(../img/start-s-min.jpg) left center no-repeat;
		background-size: cover;
	}
	#grabmale #cover-img::before {
		background: #f5f5f5 url(../img/grabmale-s-min.jpg) center center no-repeat;
		background-size: cover;
	}	
	#grabgestaltung #cover-img::before {
		background: #f5f5f5 url(../img/grabgestaltung-s-min.jpg) center top no-repeat;
		background: #f5f5f5 url(../img/grabgestaltung-neu-s.jpg) center top no-repeat;
		background-size: cover;
	}
	#grabschmuck #cover-img::before {
		background: #f5f5f5 url(../img/grabschmuck-s-min.jpg) center center no-repeat;
		background-size: cover;
	}
	#about #cover-img::before {
		/*background: #f5f5f5 url(../img/about-s-min.jpg) center center no-repeat;*/
		background: #f5f5f5 url(../img/about-neu.jpg) center center no-repeat;
		background-size: cover;
	}
	#kontakt #cover-img::before {
		background: #f5f5f5 url(../img/kontakt-s.jpg) center center no-repeat;
		background-size: cover;
	}
	#impressum #cover-img::before, #datenschutz #cover-img::before {
		background: #f5f5f5 url(../img/start-s-min.jpg) left center no-repeat;
		background-size: cover;
	}	
}

@media only screen and (min-width: 50em) {
	.wrapper {
		width: 80%;
	}		
  .slogan-item {
	  font-size: 2.25vw;
  }	
}

@media only screen and (min-width: 64em) {
	p, ul, ol ,dl {
		font-size: 1.25em;
	}	
	.only-mobile {
		display: none !important;
	}
	span.not-mobile, .not-mobile {
		display: inline-block;
	}	
	
	h1 {
		font-size: 2.5em;
	}
	h2 {
		font-size: 2em;
	}	
	h3 {
		font-size: 1.5em;
	}	
	
	blockquote {
		font-size: 1.25em;
	}
	
	/* Links im Content */
	a:link {
		color: #7f7375;
		text-decoration: none;
	}
	a:visited {
		color: #7f7375;
		text-decoration: none;	
	}  
	a:hover, a:focus {
		color: #7f7375;
		text-decoration: underline;	
	}  
	a:active {
		color: #7f7375;
		text-decoration: none;	
	}
	a[href^="tel"]:link,
	a[href^="tel"]:visited,
	a[href^="tel"]:hover {
	text-decoration: none !important;
	cursor: default !important;
	border-bottom: 2px solid transparent !important;
	}	
	
	#cover-img {
		height: 55vh;
		min-height: 16rem;
		max-height: none;
	}
	#index #cover-img {
		height: 65vh;
		min-height: 20rem;
		max-height: none;
	}	
	#index #cover-img::before {
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		background: #f5f5f5 url(../img/start-min.jpg) center center no-repeat;
		background-size: cover;
	}
	#grabmale #cover-img::before {
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		background: #f5f5f5 url(../img/grabmale-min.jpg) center center no-repeat;
		background-size: cover;
	}
	#grabgestaltung #cover-img::before {
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		background: #f5f5f5 url(../img/grabgestaltung-min.jpg) center top no-repeat;
		background: #f5f5f5 url(../img/grabgestaltung-neu.jpg) center top no-repeat;
		background-size: cover;
	}
	#grabschmuck #cover-img::before {
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		background: #f5f5f5 url(../img/grabschmuck-min.jpg) center center no-repeat;
		background-size: cover;
	}
	#about #cover-img::before {
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		background: #f5f5f5 url(../img/about-neu.jpg) center center no-repeat;
		background-size: cover;
	}
	#kontakt #cover-img::before {
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		background: #f5f5f5 url(../img/kontakt.jpg) center center no-repeat;
		background-size: cover;
	}
	#impressum #cover-img::before, #datenschutz #cover-img::before {
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		background: #f5f5f5 url(../img/start-min.jpg) center center no-repeat;
		background-size: cover;
	}	
	
	#navi {
		position: relative;
		margin: 0 auto;
		width: 100%;
		max-width: 1440px;
	}

	.logo {
		width: 50%;
		width: calc(5rem + 35vw);
		height: auto;
		padding-top: 2.25rem;
		transition: all 0.3s ease-in-out;
	}
	.logo.scrolled {
		padding-top: 0;
	}
	.logo_img {
		float: left;
		width: 12vw;
		padding-top: 0.25rem;
		transition: all 0.3s ease-in-out;
	}	
	.logo_img.scrolled {
		width: 7.0rem;
	}
	.logo_txt {
		font-size: 2.5vw;
		padding-top: 3.3vw;
		transition: all 0.3s ease-in-out;
	}	
	.logo_txt.scrolled {
		font-size: 1.5rem;
		padding-top: 2rem;
	}

	.wrapper {
		/*padding-top: 2rem;*/
		width: 75%;
	}	
	
	.menu-trigger {
		height: 0;
	}
	
	/* Reset scrollbare mobile Navigation */
	.nav-list {
		max-height: none;
		overflow-y: visible;
		scrollbar-visibility: visible;
		scrollbar-width: auto;
		-ms-overflow-style: auto;		
	}
	.nav-list::-webkit-scrollbar {
		display: block;
	}	
	.nav-list {
		clear: none;
		display: block;
		float: none;
		margin: 0;
		text-align: right;
		width: 100%;
		height: 6em;
/*		padding: 0;
		padding-top: 2em;
		padding-top: 4em;
		padding-right: 1em;
		padding-left: 0em;*/
		padding: 4em 1em 0 0;
		border: none;
		transition: all 0.3s ease-in-out;
		box-shadow: none;
	}
	.nav-list.scrolled {
		padding-top: 2em;
	}
	.nav-list li {
	  display: inline-block;
	}
	.nav-list a {
		position: relative;
		background-color: transparent;
		color: #903;
		display: block;
		margin: 0;
		font-size: 0.9em;
		/*font-weight: 300;*/
		padding: 0.6em 0;
		margin: 0 0.4em;
		border-bottom: none;
		text-decoration: none;
	}
	
/*	.nav-list a.scrolled, #impressum .nav-list a, #datenschutz .nav-list a {
		color: #903;
	}*/
	.nav-list a:hover, .nav-list a.active {
		background-color: transparent;
		color: #903;
	}	
	
	/* Hover Effekt der Navigation bei Mouse-Over */
	.nav-list li a::before {
		content: "";
		position: absolute;
		width: 100%;
		margin: 0 auto;
		height: 0.20em;
		bottom: 0;
		left: 0;
		background-color: transparent;
		visibility: hidden;
		-webkit-transform: scaleX(0);
		transform: scaleX(0);
		transition: all 0.3s ease-in-out 0s;
	}
	.nav-list li a:hover::before, .nav-list li a.active::before {
		visibility: visible;
		background-color: #20507d;
		background-color: #903;
		-webkit-transform: scaleX(1);
		-ms-transform: scaleX(1);
		transform: scaleX(1);
	}
/*	.nav-list li a:hover.scrolled::before, .nav-list li a.active.scrolled::before, #impressum .nav-list li a:hover::before, #impressum .nav-list li a.active::before, #datenschutz .nav-list li a:hover::before, #datenschutz .nav-list li a.active::before {
		background-color: #FFF;
	}*/	
	
	#hamburger {
		display: none !important;
	}
	
	/* Links im Footer */
	.copyright a:link {
		color: #FFF;
		text-decoration: none;
	}
	.copyright a:visited {
		color: #FFF;
		text-decoration: none;	
	}  
	.copyright a:hover, .copyright a:focus {
		color: #FFF;
		text-decoration: underline;	
	}  
	.copyright a:active {
		color: #FFF;
		text-decoration: none;	
	}
	
/****** Footer ******/
	#foot {
		margin: 0;
		padding: 0;
	}	
	
	#foot #footer-cols h3 {
		font-size: 1.5rem;
	}	
	#foot #footer-cols h4 {
		font-size: 1.25rem;
	}
	#foot #footer-cols p {
		font-size: 1rem;
	}	
	
	#foot .copyright p {
		font-size: 0.875rem;
	}	
	
	/**** Kontaktdaten im Footer ***/
	br.not-mobile {
		display: inline-block;
	}	
	#foot #footer-cols {
		position: relative;
		width: 100%;
		padding: 3em 0 4em 0;
		text-align: left;
	}
	.footer-col {
		float: left;
		width: 33.3333333%;
		margin-bottom: 0;
		text-align: left;
	}	
	._navi {
		width: 20%;
	}
	._contact1 {
		width: 40%;
	}
	._contact2 {
		width: 40%;
	} 	
	
	/* Teaser Items */
	.wrapper._items {
		max-width: 1920px;
	}
	.item {
		float: left;
		width: 31%;
		margin: 2em 3.5% 0 0;
		padding-top: 0;
	}
	.item:nth-of-type(2n+0) {
		margin-right: 3.5%;
	}	
	.item:nth-of-type(3n+0) {
		margin: 2em 0 0 0;
	}
	
	.item-text h3 {
		font-size: 1.75rem;
	}
	
	.bild {
		width: 33.33333333%;
	}	
	
	/* Flex Boxen */
	.flex_container {
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: center;
		margin-bottom: 5em;
	}
	.flex_container._reverse {
		flex-direction: row-reverse;
	}
	.flex_box {
		padding: 0;
	}
	._left {
		padding-right: 1.5em;
		margin-right: 1.5em;
	}
	._right {
		padding-left: 1.5em;
		margin-left: 1.5em;
	}	
	._box {
		padding: 1em 3em 3em 4em !important;
	}	
	._50 {
		width: 50%;		
	}
	._55 {
		width: 55%;		
	}	
	._60 {
		width: 60%;		
	}
	._65 {
		width: 65%;		
	}	
	._70 {
		width: 70%;		
	}	
	._90 {
		width: 90%;		
	}	
	._45 {
		width: 45%;		
	}	
	._40 {
		width: 40%;		
	}	
	._35 {
		width: 35%;		
	}	
	._30 {
		width: 30%;		
	}
	.flex_box img {
		width: 100%;
		max-width: none;
		object-fit: contain;
	}	
}

@media only screen and (min-width: 70em) {
	#foot .copyright p {
		font-size: 1rem;
	}	
}

@media only screen and (min-width: 80em) {		
	h1 {
		font-size: 3.5em;
	}	
	h2 {
		font-size: 2.5em;
	}
	h3 {
		font-size: 2em;
	}	
	.wrapper {
		width: 70%;
	}	
	.slogan-item {
		font-size: 2.0rem;
	}
  
	/**** Kontaktdaten im Footer ***/
	#foot #footer-cols h3 {
		font-size: 2rem;
	}	
	#foot #footer-cols h4 {
		font-size: 1.5rem;
	}
	#foot #footer-cols p {
		font-size: 1.125rem;
	} 
}
@media only screen and (min-width: 90em) {		
	.nav-list a {
		font-size: 1em;
	}	
	
	.logo_img {
		width: 10vw;
	}	
	.logo_txt {
		font-size: 2.1vw;
		padding-top: 2.8vw;
	}
	
	p.more_button a, p.route_button a {
		font-size: 1rem;
	}
	
	/* Kontaktdaten im Footer */
	._navi {
		width: 30%;
	}
	._contact1 {
		width: 35%;
	}
	._contact2 {
		width: 35%;
	}	
	
  .kontakt {
	  width: 33.33333333%;
  }  	
	
}

@media only screen and (min-width: 100em) {
	.nav-list {
		padding-top: 5em;
	}
/*	section, .division {
		padding: 4em 0;
	}*/	
	.division {
		padding: 4em 0;
	}
	.item-text p {
		font-size: 1.125rem;
	}	
	
	.bild {
		width: 25%;
	}	
	
	blockquote {
		font-size: 1.5em;
	}		
}

@media only screen and (min-width: 120em) {
	.logo {
		width: 45rem;
	}
	.logo_img {
		float: left;
		padding-top: 0.25rem;
		width: 12rem;
	}	
	.logo_txt {	
		font-size: 2.5em;
		padding-top: 3.3rem;
	}
}

@media only print {
	html {
		height: auto !important;
	}	
	.only-mobile {
		display: none !important;
	}
	span.not-mobile, .not-mobile {
		display: inline-block;
	}	
	#head {
		position: relative;
		/*background-color: #F00;*/
		min-height: 0;
	}	
	#hamburger {
		display: none !important;
	}	
	.menu-trigger {
		background-color: transparent;
	}	
	.wrapper, .nav-wrapper {
		padding-top: 1rem;
		padding-left: 2rem;
	}	
	.logo {
		width: 100%;
		padding-left: 2rem;
		margin-bottom: 5rem;
	}
	section {
		min-height: 0;
		margin-bottom: 5em;
	}	
	section, #foot {
		page-break-inside: avoid;
	}
	#cover-img {
		display: none;
	}	
	.wow {
		animation-name: none !important;
		visibility: visible !important;
	}
	#copyright {
		background-color: transparent;
		color: #20507d !important;
		border-top: none;
		outline: none;
	}	
	#copyright p, #copyright a {
		font-size: 1em;
		color: #20507d !important;
	}	
	
/*	.slogan {
		position: absolute;
		margin: 0;
		left: 50%;
		top: 10em;
		transform: translateX(-50%);
		font-size: 24pt;
		color: #333;
		text-align: center;
		line-height: 1.4;
		z-index: 1;
	}
	.slogan span {
		text-align: center;
		font-size: 90pt;
		font-weight: 600;
		padding: 0 96pt 0 0;
		background: url(../img/logo-wahrhusen.png) center right no-repeat;
		background-size: auto 100%;
	}
	.slogan p {
		display: block;
		font-size: 3.5vw;
		font-size: 14pt;
		color: #20507d;
		margin-top: 1em;
	}*/
	figure.not-mobile {
		display: none;
	}
	figure.only-mobile {
		display: block !important;
	}
	#portrait_img {
		float: right;
		width: 35%;
		margin: 0.5em 0 1em 1em;
	}
	#portrait_img img {
		max-width: none;
	}
	.menu-trigger {
		height: 0;
	}		
	.logo.scrolled {
		display: none;
	}	
}