@charset "UTF-8";
/* CSS Document */

/**
 * Theme Name:     ALBERT SCHÄFER Grabdenkmale
 * Theme URI:      https://grabmale-albert-schaefer.de/
 * Description:    Theme der ersten Generation für ALBERT SCHÄFER Grabdenkmale
 * Author:         Der Hersteller
 * Author URI:     https://www.der-hersteller.de
 * Version:        1.0
 */




/* ----------------------------------------------------------------------------- *
 *                                                                               *
 * GLOBALS                                                                       *
 *                                                                               *
 * ----------------------------------------------------------------------------- */
html {
}
body {
	font: 62.5%/1.5em 'robotoregular', Helvetica, Arial, sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
    color: rgb(0,52,83);
    /*background-image: url("images/body-bg.jpg");
	background-position: center center;
  	background-repeat: no-repeat;
  	background-size: cover;
	background-attachment: fixed;*/
}
body:before {
  content: "";
  display: block;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: -10;
  background-image: url("images/body-bg.jpg");
	background-position: center center;
  	background-repeat: no-repeat;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}

a {
	transition: 0.5s ease-in-out; 
}
a, a:active, a:link, a:visited {
    color: inherit;
    text-decoration: none;
}

ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.mobile-only {display: none !important}
.nowrap {white-space: nowrap;}
.uppercase {text-transform: uppercase;}

.background-cover {
	background-position: center center;
  	background-repeat: no-repeat;
  	background-size: cover;
}
.multiply {
	mix-blend-mode: multiply;
}
.shadow {
	box-shadow: 3px 3px 2px rgba(0,0,0,0.5);
}

.scale:hover,
.scale:focus {
    transform: scale(.95);
}

.box-sizing {
	box-sizing: border-box;
}
.hyphens {
	-webkit-hyphens: auto;
	-moz-hyphens: auto;
	-ms-hyphens: auto;
	hyphens: auto;
}
.flex {
	display: flex;
    flex-direction: row;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}
.stretch {
	align-self: stretch;
}




/* ----------------------------------------------------------------------------- *
 *                                                                               *
 * TYPOSATZ                                                                      *
 *                                                                               *
 * ----------------------------------------------------------------------------- */
h1, h2, h3, h4, h5, h6 {
	font-weight: normal;
	margin: 0;
	padding: 0;
}

h1 {
    font-family: 'josefin_sanssemibold';
    font-size: 3.8em;
    line-height: 1.4em;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: rgb(255,255,255);
    margin-top: -0.5em;
}
#start .section-headline h1 {
    text-align: center;
}
h2 {
    font-family: 'robotomedium';
    font-size: 3.2em;
    line-height: 1.4em;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgb(0,120,178);
    margin-bottom: 0.9em;
}
#main p + h2,
#main ul + h2 {
    margin-top: 1.8em;
}
#main p.menu-item + h2 {
    margin-top: 0;
}
h3 {
    font-family: 'robotomedium';
    font-size: 2.6em;
    line-height: 1.4em;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgb(0,120,178);
    margin-bottom: 0.2em;
}
#main p + h3,
#main ul + h3 {
    margin-top: 2.2em;
}
h4 {	
}
h5 {	
}
p, #main ul {
    margin: 0;
}
#main p, #main ul {
    font-size: 2.2em;
    line-height: 1.74em;
    margin-bottom: 1.4em;
}
#main p.menu-item {
    font-family: 'robotomedium';
    font-size: 1.5em;
    text-transform: uppercase;
    letter-spacing: 0.01em;
    color: rgb(0,52,83);
    margin-bottom: 2.3em;
}
#main ul {
	list-style: none;
	padding: 0 0 0 0;
}
#main ul li {
	padding-left: 1em;
    position: relative;
}
#main ul li:before {
	content: " • ";
	position: absolute;
	left: 0;
    top: 0;
	font-size: 1.2em;
}
#main #vita-historie .bg-gold p.intro {
    font-family: 'josefin_sanssemibold';
    font-size: 3.8em;
    line-height: 1.2em;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: rgb(193,168,91);
}
#footer p {
    font-size: 1.5em;
    line-height: 1.6em;
}

i, em {
	font-style: normal;
}
b, strong {
    font-family: 'robotomedium';
	font-weight: normal;
}




/* ----------------------------------------------------------------------------- *
 *                                                                               *
 * CONTAINER                                                                     *
 *                                                                               *
 * ----------------------------------------------------------------------------- */
#wrapper {
}
.inside,
.inside-wide {
    position: relative;
    margin: 0 auto;
    box-sizing: border-box;
}
.inside {
    width: 142em;
    padding-top: 6.4em;
    padding-bottom: 3.2em;
}
.inside-wide {
    width: 192em;
    padding-top: 6.8em;
    padding-bottom: 3.4em;
}
.inside + .inside-wide {
    padding-top: 0;
}

.flex-columns {
    display: flex;
    flex-direction: row;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
    padding-left: 2.864583333333333%; /* 55/1920 */
}
.flex-columns .column-left {
    width: 53.61930294906166%; /* 1000/1865 */
    margin-right: 3.753351206434316%; /* 70/1865 */
    margin-bottom: 3.2em;
}
.flex-columns .column-right {
    width: 31.099195710455763%; /* 580/1865 */
}

section {}
.section-headline {
    height: 26.6em;
    display: flex;
    flex-direction: column;
	justify-content: center;
	align-items: flex-start;
    background: rgb(0,52,83);
    box-sizing: border-box;
}
#start .section-headline {
    align-items: center;
    padding: 0 4.6875%; /* 90/1920 */
}
.section-image-banner,
.two-columns .column {
    background-position: center center;
  	background-repeat: no-repeat;
  	background-size: cover;
}
.section-image-banner.two-columns {
    display: flex;
    flex-direction: row;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
}
.section-image-banner.two-columns .column {
    width: 50%;
}
section#start .section-image-banner {
    height: 94em;
}
section#vita-historie .section-image-banner,
section#orientierung .section-image-banner,
section#garten-brunnen .section-image-banner.two-columns .column {
    height: 79em;
}

.bg-blue {
    position: relative;
    background: rgba(0,52,83,0.18);
}
.bg-gold {
    background: rgba(193,168,91,0.18);
}





/* ----------------------------------------------------------------------------- *
 *                                                                               *
 * HEADER                                                                        *
 *                                                                               *
 * ----------------------------------------------------------------------------- */
#header {
}
#header-top {
    background: rgb(0,52,83);
    color: rgb(255,255,255);
    text-align: right;
    padding: 0.5em 4.6875%; /* 90/1920 */
    box-sizing: border-box;
}
#header-top a {
    font-family: 'robotomedium';
    font-size: 1.5em;
    text-transform: uppercase;
}
#header-top a:hover,
#header-top a:focus {
    color: rgb(0,120,178);
}

#header-bottom {
    display: flex;
    flex-direction: row;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
}
#header-bottom .header-slider div,
#header-bottom .header-content {
    height: 73em;
}
#header-bottom .header-slider {
    width: 55.208333333333336%; /* 1060/1920 */
}
#header-bottom .header-slider div {
    background-position: center center;
  	background-repeat: no-repeat;
  	background-size: cover;  
}
#header-bottom .header-content {
    width: 44.79166666666667%; /* 860/1920 */
    display: flex;
    flex-direction: column;
	justify-content: space-between;
	align-items: center;
    box-sizing: border-box;
    padding: 5.5em 0 3.5em 0;
}
#header-bottom .header-content img {
    display: block;
    margin: 0;
}
#header-bottom .header-content img.logo {
    width: 49.6em;
    margin-bottom: 15em;
}
#header-bottom .header-content img.claim {
    width: 57.4em;
}




/* ----------------------------------------------------------------------------- *
 *                                                                               *
 * MAIN                                                                          *
 *                                                                               *
 * ----------------------------------------------------------------------------- */
#main {
}
#main a {
    font-family: 'robotomedium';
    color: rgb(0,120,178);
}
#main a:hover,
#main a:focus {
    color: rgb(0,52,83);
}
#main a.link-extern {
    display: block;
    background-repeat: no-repeat;
    background-position: left 0.4em;
    background-size: 0.62em;
    background-image: url("images/arrow-link-extern.svg");
    padding-left: 1.2em;
}
#main a.link-extern:hover,
#main a.link-extern:focus {
    color: rgb(0,120,178);
    margin-left: 0.5em;
}

#main img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0;
}
#main img.signature {
    width: 266px;
}

/* slider slick */
.historie-slider-mobile {
    display: none !important;
}
.historie-slider {
    margin-bottom: 4em;
}
.historie-slider .slick-slide {
    padding: 0 0.8em;
    box-sizing: border-box;
}
.historie-slider-mobile {
    margin-left: -1.4em;
    margin-right: -1.4em;
    margin-bottom: 2.5em;
}
.historie-slider-mobile .slick-slide {
    margin: 0 1.4em;
    box-sizing: border-box;
}
.historie-slider div.slide {
    width: 42em;
}
.historie-slider div.slide-spacer {
    width: 8em;
}
.historie-slider-mobile div.slide-spacer {
    display: none;
}
.historie-slider div.slide-spacer hr {
    border: none;
    border-top: 1px solid rgb(66,59,30);
    margin-top: 182px;
}
.historie-slider div.slide .image,
.historie-slider-mobile div.slide .image {
    position: relative;
    margin-bottom: 1.6em;
}
.historie-slider img.plus,
.historie-slider-mobile img.plus {
    position: absolute;
}
.historie-slider img.plus {
    right: 1em;
    bottom: 1em;
    width: 2.4em;
}
.historie-slider-mobile img.plus {
    right: 0.8em;
    bottom: 0.8em;
    width: 1.8em;
}
.historie-slider .slide .text,
.historie-slider-mobile .slide .text {
    text-align: center;
}
#main .historie-slider .slide .text p,
#main .historie-slider-mobile .slide .text p {
    font-family: 'robotomedium';
    color: rgb(66,59,30);
    margin-bottom: 0;
}

.slick-prev,
.slick-next {
    display: block;
    position: absolute;
    padding: 0;
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    background: transparent;
    background-repeat: no-repeat;
    z-index: 99;
    transition: 0.5s ease-in-out;
}
.grabmale-slider .slick-next {
    right: 2.5em;
    top: 50%;
    width: 44px;
    height: 44px;
    margin-top: -22px;
    background-image: url("images/arrow-grabmale-slider.svg");
}
.grabmale-slider .slick-prev {
    display: none;
}
.grabmale-slider .slick-next:hover,
.grabmale-slider .slick-next:focus {
    right: 2em;
}
.historie-slider .slick-next,
.historie-slider .slick-prev {
    top: 182px;
    width: 29px;
    height: 30px;
    margin-top: -15px;
    background-image: url("images/arrow-historie-slider.svg");
}
.historie-slider .slick-next {
    right: -5.2em;
}
.historie-slider .slick-prev {
    left: -5.2em;
    transform: rotate(180deg);
}
.historie-slider .slick-next:hover,
.historie-slider .slick-next:focus {
    right: -5.7em;
}
.historie-slider .slick-prev:hover,
.historie-slider .slick-prev:focus {
    left: -5.7em;  
}
.historie-slider-mobile .slick-next,
.historie-slider-mobile .slick-prev {
    top: 32%;
    width: 21px;
    height: 22px;
    background-image: url("images/arrow-historie-slider.svg");
}
.historie-slider-mobile .slick-next {
    right: -3em;
}
.historie-slider-mobile .slick-prev {
    left: -3em;
    transform: rotate(180deg);
}
.historie-slider-mobile .slick-next:hover,
.historie-slider-mobile .slick-next:focus {
    right: -3.4em;
}
.historie-slider-mobile .slick-prev:hover,
.historie-slider-mobile .slick-prev:focus {
    left: -3.4em;  
}

/* accordeon */
.accordeon {
    margin: 4em 0;
}
.accordeon .item {
    padding-bottom: 3.2em;
}
.accordeon-content { 
    display:none;
}
#vita-historie .accordeon-content {
    padding-top: 1.8em;
}
#main #grabmalgestaltung .accordeon-content p,
#main #grabmalgestaltung .accordeon-content ul {
    padding-left: 1.8em;
}
#main .accordeon-content p:last-child,
#main .accordeon-content ul:last-child {
    margin-bottom: 0;
}
#main p.accordeon-title {
    cursor: pointer;
    color: rgb(0,120,178);
    margin-bottom: 0;
}
#main p.accordeon-title a {
    display: block;
    position: relative;
    padding-left: 1.8em;
}
#main .accordeon-title a:hover,
#main .accordeon-title a:focus {
    color: rgb(0,120,178);
}
#main p.accordeon-title a:before {
    content: "";
    position: absolute;
    width: 26px;
    height: 26px;
    left: 0;
    top: 8px;
    background-repeat: no-repeat;
    background-size: 0.62em;
    background-image: url("images/arrow-link-extern.svg");
    transition: all 1s; 
}
#main p.accordeon-title a:hover:before,
#main p.accordeon-title a.open:before {
    top: 13px;
    transform: rotate(90deg);
}

/* contact-icons */
.contact-icons {
    position: absolute;
    right: 0;
    top: 30%;
    z-index: 100;
}
.contact-icons a {
    display: block;
    width: 8em;
    height: 8em;
    background-repeat: no-repeat;
    background-position: center;
    background-color: rgb(0,120,178);
    background-size: 5em;
    margin-bottom: 0.5em;
}
.contact-icons a.mail {
    background-image: url("images/icon-mail.svg")
}
.contact-icons a.fon {
    background-image: url("images/icon-fon.svg")
}
.contact-icons a:hover,
.contact-icons a:focus {
    background-color: rgb(0,52,83);
}




/* ----------------------------------------------------------------------------- *
 *                                                                               *
 * FOOTER                                                                        *
 *                                                                               *
 * ----------------------------------------------------------------------------- */
#footer {
    background: rgb(115,121,133);
    color: rgb(255,255,255);
}
#footer a:hover,
#footer a:focus {
    opacity: 0.5;
}
#footer .inside {
    display: flex;
    flex-direction: row;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
    padding: 0;
}
#footer .column {
    display: flex;
    flex-direction: column;
	justify-content: space-between;
	align-items: flex-start;
    height: 30em;
    box-sizing: border-box;
    padding-top: 7.4em;
    padding-bottom: 7.4em;
}




/* ----------------------------------------------------------------------------- *
 *                                                                               *
 * NAVIGATION                                                                    *
 *                                                                               *
 * ----------------------------------------------------------------------------- */

/* scroll navigation */
.open-nav {
    position: fixed;
    right: 0;
    top: 5.5em;
    width: 8em;
    height: 8em;
    background-repeat: no-repeat;
    background-position: center;
    background-color: rgb(0,120,178);
    background-size: 5em;
    background-image: url("images/hamburger.svg");
    cursor: pointer;
    transition: 0.5s ease-in-out;
    z-index: 900;
}
.large .open-nav {
	right: -8em;
}
.small .open-nav {
    right: 0;
}
.open-nav:hover,
.open-nav:focus {
    background-color: rgb(0,52,83);
}


#menu {
    position: relative;
    width: auto;
    height: auto;
    background: none;
}
#menu ul {
    text-align: center; 
}
#menu ul > li {
    display: inline-block;
    margin: 0 1.5em;
}

#responsive-menu {
    position: fixed;
    width: 0em;
    height: 100%;
    top: 0;
    right: 0;
    overflow-x: hidden;
    background: rgba(255,255,255,0.95);  
    transition: 0.5s ease-in-out;
    z-index: 800;
}
#responsive-menu.toggle,
#responsive-menu ul {
    width: 28em;
}
#responsive-menu ul {
    padding: 20em 0 0 5.5em;
    box-sizing: border-box;
}
#responsive-menu ul > li {
    margin: 0 0 2em 0;
}

#menu ul > li > a,
#responsive-menu ul > li > a {
    font-family: 'robotomedium';
    font-size: 1.5em;
    text-transform: uppercase;
    letter-spacing: 0.01em;
    color: rgb(0,52,83);
}
#menu ul > li > a:hover,
#menu ul > li > a:focus,
#menu ul > li.current-menu-item > a,
#responsive-menu ul > li > a:hover,
#responsive-menu ul > li > a:focus,
#responsive-menu ul > li > a.active {
    color: rgb(0,120,178);
}

#sub-nav {
}
#sub-nav ul {
}
#sub-nav ul > li {
}
#sub-nav ul > li > a {
    font-size: 1.5em;
    line-height: 1.6em;
    text-transform: uppercase;
}
#sub-nav ul > li > a:hover,
#sub-nav ul > li > a:active,
#sub-nav ul > li > a:focus,
#sub-nav ul > li.current-menu-item > a {
    opacity: 0.5;
}






