
:root {
    /* typography */
    --text-xl: 2.5rem;
    --text-l: 1.8rem;
    --text-m: 1.4rem;
    --text-s: 1rem;
    --text-xs: 0.9rem;

    --abstand:50px;
    --abstand-xs:13px;
    --abstand-s:26px;
	--abstand-m:70px;
	--abstand-l:100px;
    --abstand-xl:220px;

	--farbe_dunkel: #000;
    --farbe_mittel: #707070;
	--farbe_hell: #E8E6E5;
	--farbe_blau: #243f69;
	--linksrechts: 12vw;
}

@media(max-width: 1024px){
  :root {
    --text-xl: 2.3rem;
    --text-l: 1.6rem;
    --text-m: 1.2rem;
    --text-s: 1rem;
    --text-xs: 0.9rem;

    --abstand:40px;
    --abstand-xs:10px;
    --abstand-s:15px;
    --abstand-m:50px;
	--abstand-l:70px;
    --abstand-xl:170px;

	--linksrechts: 3vw;
  }
}

@media(max-width: 640px){
  :root {
    --text-xl: 1.6rem;
    --text-l: 1.4rem;
    --text-m: 1.2rem;
    --text-s: 0.9rem;
    --text-xs: 0.8rem;

    --abstand:20px;
    --abstand-xs:4px;
    --abstand-s:8px;
    --abstand-m:25px;
	--abstand-l:50px;
    --abstand-xl:80px;

	--linksrechts: 15px;
  }
}


* {
	line-height:140%;
	margin:0;
	padding:0;
	font-size:16px;
	}
body {
	background: #fff;
  	cursor: auto;
    font-family: 'Oxygen';
    font-style: normal;
    font-weight: 400;
  	line-height: 1.5;
  	margin: 0;
  	
	}
:active, :focus {
	outline: none
	border: 0; 
	}

/**************************/

/**************************/

.linksrechts {
	padding: 0 var(--linksrechts);
	}
hr.abstand {
    height:1px;
    border:none;
    color: #fff;
    margin-top:var(--abstand);
    }
.grid-container {
    padding-right: 0;
    padding-left: 0;
  	}
/**************************/
/******** Header **********/
/**************************/

.logozeile {
    position: fixed;
	min-height:95px;
	width:100%;
    background: #fff;
	z-index:99;
	left:0;
	top:0;
	}

#logo {
    position: fixed;
    /*background: #fff;*/
    padding:0;
	-webkit-transition: all .5s ease;
    transition: all .5s ease;
    top:17px;
    left:var(--linksrechts);
    width:230px;
    z-index: 100;
	}
.insta {
   position: fixed;
    padding:0;
	-webkit-transition: all .5s ease;
    transition: all .5s ease;
    top:21px;
    right:calc(var(--linksrechts) * 1.4);
    width:25px;
    z-index: 1000;
	}
/**************************/
/******** scrolled  *******/
/**************************/

.scrolled  #logo {
    -webkit-transition: all .5s ease;
    transition: all .5s ease;
    width:230px;
    opacity: 1;
    background: transparent;
	}
.scrolled .insta {
   position: fixed;
    padding:0;
	-webkit-transition: all .5s ease;
    transition: all .5s ease;
	}


/**************************/
/******** Slider *******/
/**************************/
.swiper{
	height:auto;
	text-align:center;
	padding:95px 0 0 0!important;
	}
 .swiper-slide {
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-bottom:40px;
	background:#fff;
    }
.swiper-zoom-container {
	background: var(--farbe_hell);
	}
.swiper-slide img {
    display: block;
 	max-height:50vw !important;
    width: auto;
    }
.swiper-slide img.querformat {
     object-fit: cover;
     width: inherit;
    }
.slider_nav.slider_prev {
    cursor: url('data:image/svg+xml,<svg height="37" viewBox="0 0 77 57" width="37" xmlns="http://www.w3.org/2000/svg"><path d="m.2 29.9h71.3l-26.9 26.5h3.7l28.4-27.9-28.6-28.3h-3.7l27.1 26.8h-71.3z" fill="%23fff" transform="matrix(-1 0 0 -1 76.9 56.6)"/></svg>') 37 25,pointer;
    }
.slider_nav.slider_next {
    right: 0;
    cursor: url('data:image/svg+xml,<svg height="37" viewBox="0 0 77 57" width="37" xmlns="http://www.w3.org/2000/svg"><path d="m.2 29.9h71.3l-26.9 26.5h3.7l28.4-27.9-28.6-28.3h-3.7l27.1 26.8h-71.3z" fill="%23fff"/></svg>') 37 25,pointer;
    }


.slider_nav {
    position: absolute;
    height: 100%;
    width: 50%;
    top: 0;
    z-index: 100000;
    opacity: 0.1;
    }
.single-image .slider_nav {
    display: none;
	}
.swiper-pagination {
    text-align: right !important;
    font-weight: 400;
    color: var(--farbe_dunkel);
    font-size: var(--text-s);
    padding-right:0;
    bottom: 0 !important;
    }
.swiper-pagination-current,  .swiper-pagination-total{
    font-weight: 400;
    color: var(--farbe_dunkel);
    font-size:100%;
    }
.swiper-titel {
    position: absolute;
    bottom: 0;
    left: 0;
    font-weight: 400;
    color: var(--farbe_dunkel);
    font-size: var(--text-s);
    z-index: 10;
    padding: 1px 0;
    }
.swiper,
.swiper-wrapper,
.swiper-slide {
    touch-action: auto !important;
	}
/**************************/
/******** Teaser ************/
/**************************/

.teaser {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -25px;
	}

.teaser .item {
    position: relative;
    margin: 0 25px 50px 25px;
    width: calc(33.333% - 50px);
	}

.teaser .item:nth-child(4n+3),
.teaser .item:nth-child(4n+2) {
    width: calc(66.666% - 50px);
	}
.teaser div a p {
    position: absolute;
    font-weight: 400;
    color: var(--farbe_dunkel);
    font-size: var(--text-s);
    line-height:110%;
    margin:8px auto auto 0;
    padding: 3px 20px 3px 0;
    transition: all .7s ease-out;
    }
.teaser div a img { 
  	transform: scale(1.0);
    opacity: .8;
    transition: all .7s ease-out;
	}
.teaser div a:hover img { 
  	transform: scale(1.02);
    opacity: 1.0;
    transition: all .7s ease-out;
	}




/**************************/
/******** Footer   ********/
/**************************/

.bgfond {
    background: var(--farbe_hell);
	padding: 0 var(--linksrechts);
    }
.footer {
	height:auto;
	padding:30px 0 100px 0;
	}
.footer p {
    font-size: var(--text-s);
	text-decoration:none;
    color: var(--farbe_dunkel);
	line-height:150%;
    text-align: left;
    hyphens:none;
	}	
.footer p, .footer ul{
	margin:20px 0 0 0;
	}
.footer ul {
	list-style-type:none;
	}
.footer a, .footer a:visited {
    color: var(--farbe_dunkel);
    text-transform: none;
    font-size: var(--text-s);
	}
.footer a:hover, .footer a:visited:hover {
    color: var(--farbe_mittel);
	}
.footer img {
    margin-top:20px;
    width:210px;
	}	
#back-top img {
	width:40px;
    margin:50px 10px 10px 10px;
	}





/**************************/
/******** Formatierung ****/
/**************************/
h1 {
    font-family: 'Oxygen';
    font-style: normal;
    font-weight: 700;
	color: var(--farbe_dunkel);
    font-size: var(--text-xl);
	}
h2 {
    font-family: 'Oxygen';
    font-style: normal;
    font-weight: 700;
	color: var(--farbe_dunkel);
    font-size: var(--text-l);
	line-height:170%;
	}
h3  {
    font-family: 'Oxygen';
    font-style: normal;
    font-weight: 400;
	color: var(--farbe_dunkel);
    font-size: var(--text-m);
	line-height:140%;
	}
h4  {
    font-family: 'Oxygen';
    font-style: italic;
    font-weight: 400;
	color: var(--farbe_dunkel);
    font-size: var(--text-s);
	line-height:160%;
	}

p {
    font-family: 'Oxygen';
    font-style: normal;
    font-weight: 400;
	color: var(--farbe_dunkel);
    font-size: var(--text-s);
	line-height:160%;
    hyphens: auto;
	letter-spacing:0.03em;
	}
ul.aufzaehl li{
    font-family: 'Oxygen';
    font-style: normal;
    font-weight: 400;
	color: var(--farbe_dunkel);
    font-size: var(--text-s);
	line-height:160%;
    hyphens: none;
	}
p a, p a:visited {
    color: var(--farbe_mittel);
    font-size: var(--text-s);
	}
p a:hover, p a:visited:hover {
	color: var(--farbe_dunkel);
	}
p b, p strong {
    font-family: 'Oxygen';
    font-style: normal;
    font-weight: 700;
    font-size: var(--text-s);
    }

ul.aufzaehl li{
    list-style-type: "-";
    padding:1px 0 1px 8px;
    margin:0;
    font-size: var(--text-s);
    }
table.contenttable {
    margin:25px 0;
	border:none;
    }
table tbody{
	border:none;
    }
table.contenttable tr td {
    vertical-align: top;
    text-align: left;
	padding:5px 14px 5px 0;
	font-size: var(--text-s);
    }
table.contenttable tr td:first-child {
   width:120px;
	}
tbody tr:nth-child(2n) {
  	border-bottom: 0;
  	background-color: #fff;
	}
/**************************/
/******** Abstaende ********/
/**************************/

h1 {
	margin:10px 0 0 0;
	}
h2 {
	margin:20px 0;
	}
h1 ~ h2 {
	margin:0 0 20px 0;
	}
h3 {
	margin:10px 0 10px 0;
	}
h4 {
	margin:10px 0 10px 0;
	}
p {
	margin:20px 0 20px 0;
	}
ul.aufzaehl {
    margin:20px 0 20px 8px;
    }
.large-6:first-child {
    padding-right: 15px;
	}
.large-6:last-child {
    padding-left: 15px;
	}
.large-9 {
	padding-left:20px;
	}
.frame-type-menu_subpages {
	padding-top:0;
	}
.ce-gallery img {
  	padding-bottom:6px;
	}
.frame-space-before-extra-small {
	margin-top:var(--abstand-xs);
	}
.frame-space-before-small {
  	margin-top:var(--abstand-s);
	}
.frame-space-before-medium {
 	margin-top:var(--abstand-m);
	}
.frame-space-before-large {
	margin-top:var(--abstand-l);
	}
.frame-space-before-extra-large {
	margin-top:var(--abstand-xl);
	}

.frame-space-after-extra-small {
	margin-bottom:var(--abstand-xs);
	}
.frame-space-after-small {
  	margin-bottom:var(--abstand-s);
	}
.frame-space-after-medium {
 	margin-bottom:var(--abstand-m);
	}
.frame-space-after-large {
	margin-bottom:var(--abstand-l);
	}
.frame-space-after-extra-large {
	margin-bottom:var(--abstand-xl);
	}


/**********************************************/

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

.teaser div a p{
    margin-top:8px;
    padding: 2px 0;
    width:50vw;
	hyphens:none;
	line-height:110%;
    }

}
/**********************************************/

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

.large-9 {
  	padding-left: 0;
	}

.teaser div a p{
    margin-top:6px;
    padding: 2px 0;
	hyphens:none;
	line-height:120%;
    }

.teaser .item {
	display:inline-block;
	position: relative; 
	margin: 0 20px 55px 20px;
	width: calc(33% - 40px);
	}
.teaser .item:nth-child(4n+3),
.teaser .item:nth-child(4n+2) {
	width: calc(66% - 40px);
	}

.teaser .item:nth-child(4n+1) a p,
.teaser .item:nth-child(4n+4) a p,
.teaser .item:nth-child(4n+3) a p,
.teaser .item:nth-child(4n+2) a p{
	width: 100%; 
	}
.frame-type-menu_subpages {
	padding-top:90px;
	}
.insta {
    right:10vw;
	}



.swiper-slide img {
 	max-height:63vw !important;
    }
}

/**********************************************/
@media only screen and (max-width: 768px) {



#logo, .scrolled  #logo {
    position: relative;
    background: #fff;
    padding:5px 10px;
	-webkit-transition: all .5s ease;
    transition: all .5s ease;
    top:20px;
    left:5px;
    width:220px;
    z-index: 100;
	}
.logozeile, .scrolled .logozeile {
	min-height:100px;
    background: #fff;
	}
.teaser div a p{
    margin-top:6px;
    margin-left:0;
    padding: 2px 0;
    }
.teaser .item {
	margin: 0 15px 55px 15px;
	width: calc(100% - 40px);
	}
.teaser .item:nth-child(4n+3),
.teaser .item:nth-child(4n+2) {
	width: calc(100% - 40px);
	}
.frame-type-menu_subpages {
	padding-top:20px;
	}

}

/**********************************************/
@media only screen and (max-width: 640px) {


.swiper-slide {
    padding-bottom:35px; 
	max-height:60vw;
    }
.swiper-slide img {
    display: block;
 	max-height:60vw;
    width: auto;
    }

.slider_nav {
    display: none;
    }
.teaser {
    margin: 0 -15px;
	}
.insta {
    right:85px;
	}
.teaser .item {
	margin: 0 15px 35px 15px;
	width: calc(100% - 30px);
	}
.teaser .item:nth-child(4n+3),
.teaser .item:nth-child(4n+2) {
	width: calc(100% - 30px);
	}
.teaser div a p{
    margin-top:6px;
    margin-left:5px;
    padding: 2px 0;
    width:auto;
    }


}


