@font-face {
    font-family: 'Inter';
    src: url('media/files/fonts/Inter24pt-Light.woff2') format('woff2'),
        url('media/files/fonts/Inter24pt-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Inter';
    src: url('media/files/fonts/Inter24pt-Regular.woff2') format('woff2'),
        url('media/files/fonts/Inter24pt-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('media/files/fonts/Inter24pt-SemiBold.woff2') format('woff2'),
        url('media/files/fonts/Inter24pt-SemiBold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('media/files/fonts/Inter24pt-Italic.woff2') format('woff2'),
        url('media/files/fonts/Inter24pt-Italic.woff') format('woff');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

header {
    position: relative;
    width: 100vw;
    padding-top: 0;
    left: 0;
    top: 0;
    text-align: right;
    height: 1px;
    display: block;
    z-index: 9999;
    margin-bottom: 10vw;
}
#Intro {
    text-align: center;
	position: relative;
}
#Intro .section-content {
    padding-bottom: 2vw;
}
@keyframes rotation {
    0%{  transform: rotateZ(0deg) }
    100%  {  transform: rotateZ(360deg) }
}
#Intro .title {
    color: #80684B;
    font-weight: normal;
    font-size: 9vw;
    line-height: 1.3;
    margin-top: 0;
    font-style: italic;
}
#Intro .subtitle, #Intro .subtitle h1 {
    color: #80684B;
    font-size: 2.5vw;
    margin-top: 1.5vw;
    margin-bottom: 5vw;
	font-weight: normal;
}
#Intro figure img {
    width: 100%;
}
/*
#Intro .subtitle .fade {
    opacity: 1;
    display: inline-block;
    transform: rotateX(90deg);
	transition: transfrom .3s ease-in-out 2s;
}
#Intro .subtitle .fade.animate {
	opacity: 1;
    transform: rotateX(0deg);
}
*/
.fade.fade1 {
	transition: opacity .3s ease-in-out 2s;
}
.fade.fade2 {
	transition: opacity .3s ease-in-out 3s;
}
.fade.fade3 {
	transition: opacity .3s ease-in-out 4s;
}


/* Allgemein */
html {	
	scroll-behavior: smooth;
	scroll-padding: 1px;	
}

body {
    margin: 0;
    padding: 0;
    font-family: 'Inter', Arial, Helvetica, sans-serif;
    font-weight: normal;
    font-size: 2.3vw;
    line-height: 1.2;
    overflow-x: hidden;
    /* min-height: 101vh; */
    text-rendering: optimizeLegibility;
    text-rendering: geometricPrecision;
    color: #1c1c1c;
    opacity: 1;
    transition: opacity .8s ease-in-out .2s, background .8s ease-in-out .2s;
    background: #80684B;
}
body.show {
	opacity: 1;
    background: #ffffff;
}
body.noscroll {
/*	overflow: hidden;*/
}
.color {
    color: #80684B;
}
ul {
    padding-left: 1.5vw;
}
ul>li {
    list-style: none;
    margin: 0.5vw 0;
}
figure {
    margin: 0;
    overflow: hidden;
    border-radius: 8vw;
	display: flex;
}
@media only screen and (min-width:840px) {
	.mobile {
		display: none!important;
	}
}	


img {
	max-width: 100%;
	border: 0;
	height: auto;	
	
}
p, a, ul {
    margin-bottom: 2.5vw;
    margin-top: 0;
}
p.big {
    font-size: 2em;
}
h2 {
    font-size: 4vw;
    font-weight: normal;
    letter-spacing: 0.2vw;
}
h3.subtitle {
    margin: 0 0 1vw 0;
    line-height: 1;
    font-weight: normal;
    font-size: 2.8vw;
}
h4 {
}
span.normal {
    font-weight: normal;
}
a {
    text-decoration: none;
    color: #80684B;
    transition: color 0.3s;
}
a:hover {
    color: #80684B;
    text-decoration: none;
}

a.underline, a .underline, a.hoverline, .hoverline a {
	position: relative;
}
a.underline:after, a.hoverline:after {
    content: "";
    position: absolute;
    width: 100%;
    height: .07em;
    bottom: .06em;
    left: 0px;
    display: inline-block;
    background-color: #80684B;
    transform: rotateY(0);
    transition: transform 0.8s ease-out;
    will-change: transform;
}
a.hoverline:after {
	transform: rotateY(90deg);
}
a.underline {
    color: #1c1c1c;
}
a.underline:after {
    background-color: #1c1c1c;
}
footer a.hoverline:after {
    background-color: #fff;
}
a img {
    transition: transform .6s ease;
}

a.switch_btn {
    font-size: .68em;
    color: #1c1c1c;
    border: 1px solid;
    border-radius: 2em;
    padding: 0 3.4em;
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 2.8em;
    height: calc(2.8em + 2px);
	transition: background .4s ease-out;
}
a.switch_btn:after {
    content: "";
    border-radius: 50%;
    background: #80684b;
    position: absolute;
    left: 0;
    top: 0;
    margin: .2em;
    height: 2.5em;
    width: 2.5em;
	transition: left .4s ease-out;
}
a.switch_btn:before {
    content: "";
    border-radius: 2em;
    position: absolute;
    left: 0;
    top: 0;
    margin: .2em;
    height: 2.5em;
    width: calc(100% - .4em - 2px);
    background: linear-gradient(90deg, #fff 10%, #80684BAF);
    opacity: 0;
    transition: opacity .4s ease-out .2s;
    z-index: -1;
}
a.switch_btn:last-child {
    margin-bottom: 0;
}

@media (hover: hover) {	
	a.switch_btn:hover:before {
		opacity: 1;
	}
	a.switch_btn:hover:after {
		left: calc(100% - 2.8em - 2px);
	}
	
	a.underline:hover:after, a:hover .underline:after, a.hoverline:hover:after, .hoverline a:hover:after, #kontakt a:hover:after {
		transform: rotateY(180deg);
	}
	a.noline:hover {
		text-decoration: none;
	}
	a img, .slide-nav img {
		transition: transform 0.5s ease-out;
	}
	a:hover img, .slide-nav:hover img {
/*		transform: scale(1.1);*/
	}
    #navigation a.underline {
        text-decoration: underline;
        text-underline-offset: 0.3vw;
    }
}

strong, b {
    font-weight: 600;
}
.trenner {
    width: 100%;
    background: #000;
    height: 1px;
    clear: both;
    margin: 12vh auto;
    transform: scaleX(1);
    transform-origin: left;
    transition: transform 1s ease-out .5s;
    will-change: transform;
    display: inline-block;
}
.trenner.animate {
	transform: scaleX(1);
}
.mb-default {
    margin-bottom: 2.5vw !important;
}
.mb0 {
	margin-bottom: 0!important;
}
.mb1 {
	margin-bottom: 1vw!important;
}
.mb4 {
	margin-bottom: 4vw!important;
}
.mb6 {
	margin-bottom: 6vw!important;
}
.mb8 {
	margin-bottom: 8vw!important;
}
.mb10 {
	margin-bottom: 10vw!important;
}
.mb12 {
	margin-bottom: 12vw!important;
}
.mb14 {
	margin-bottom: 14vw!important;
}

.pt0 {
	padding-top: 0!important;
}
.pt6 {
	padding-top: 6vw!important;
}
.pt8 {
	padding-top: 8vw!important;
}

.pb0 {
	padding-bottom: 0!important;
}
.pb1 {
	padding-bottom: 1vw!important;
}
.pb2 {
	padding-bottom: 2vw!important;
}
.pb4 {
	padding-bottom: 4vw!important;
}
.pb6 {
	padding-bottom: 6vw!important;
}
.pb8 {
	padding-bottom: 8vw!important;
}
.pb10 {
	padding-bottom: 10vw!important;
}
.pb12 {
	padding-bottom: 12vw!important;
}

section {
    width: 100%;
    clear: both;
    display: block;
    overflow-x: hidden;
    overflow-x: visible;
}
section.black, section.black a {	
    background-color: #1c1c1c;
    color: #80684B;
}
.clear {
	clear: both;
}
.space {
    clear: both;
    display: block;
    height: 15vh;
}
.fade {
    /* display: inline-block; */
    transition: transform 1.2s ease-in-out, opacity 1.0s ease-in-out;
    opacity: 0;
    transform: translateY(5vh) translateZ(0);
	backface-visibility: hidden;
	-webkit-font-smoothing: subpixel-antialiased;
    /* will-change: transform; */
}
.fade.animate {	
	opacity: 1;
	backface-visibility: hidden;
	-webkit-font-smoothing: subpixel-antialiased;
    transform: translateY(0) translateZ(0);	
}
.fade.2 {
    transition-delay: .5s;	
}
.fade.3 {
    transition-delay: 1s;	
}
.fade.4 {
    transition-delay: 1.5s;	
}
.fade.5 {
    transition-delay: 2s;	
}
.img-btn {
    width: 30vw;
    padding: .7vw;
    border: 1px solid #1c1c1c;
    border-radius: 10vw;
    height: 18vw;
    margin-top: 3vw;
	transition: width 1.2s ease-in-out .3s;
}
.fade .img-btn {
    width: 18vw;
}
.fade.animate .img-btn {
    width: 30vw;
}
.img-btn img {
    border-radius: 50%;
    height: 100%;
}
/* ENDE Allgemein */

/* Geschichten CMS? */
#geschichten .content {
    font-style: italic;
    margin-top: 4vw;
}

/* Logo */
#sitelogo {
    position: absolute;
    left: 3%;
    top: 4vh;
    margin: 0;
    z-index: 9999;
}
a#sitelogo:hover {
	text-decoration: none;
}
#sitelogo img {
    transition: transform .6s;
    width: 13vw;
    max-width: 333px;
}
a#siteicon {
    z-index: 9999;
    position: absolute;
    left: 46.5%;
    top: 4vh;
    margin: 0;
    width: 7vw;
    z-index: 9999;
}


/* Menu */
.hamburger {
    display: block;
    position: fixed;
    width: 4.5vw;
    height: 2.4vw;
    right: 3%;
    top: 0;
    cursor: pointer;
    padding: 0;
    transition: all 0.3s;
    z-index: 999999;
    opacity: 1;
    transition: transform .6s ease-out 6s, top 0.6s ease-out, background .6s;
    padding: 3vw 0 0 0;
}
.hamb_line {
    height: 1px;
    width: 4.5vw;
    background: #80684B;
    transition: transform .3s ease-out, width .3s, background .6s;
    float: right;
    transform-origin: center;
    margin-bottom: 20%;
}
.hamb_line:last-child {
    width: 3.5vw;
	transition: width .3s ease;
}
.hamburger:not(.active):hover .hamb_line:last-child {
    width: 4.5vw;
}
.hamburger.white .hamb_line, .active .hamb_line {
    background: #000!important;
}
.hamburger.active {
    top: 1vw;
}
.active .hamb_line:first-child {
    transform: rotate(-225deg);	
    width: 4.5vw;
    margin-bottom: 0;
}
.active .hamb_line:last-child {
    transform: rotate(225deg);
    width: 4.5vw;
    margin-bottom: 0;
}
#navigation {
    width: 100%;
    height: 100vh;
    /* display: block !important; */
    position: fixed;
    background: #80684B;
    z-index: 99999;
    left: 0;
    top: 0;
    transform: translateX(-100%);
    transition: transform 0.3s .6s;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex-direction: column;
}
#navigation.active {
	transform: translateX(0);
    transition: transform 0.3s ease-out;
}

#navigation ul.links {
    /* position: fixed; */
    /* left: 10vw; */
    width: 80%;
    list-style: none;
    padding: 0;
    overflow: hidden;
    /* top: 25vh; */
    text-align: left;
    position: relative;
    padding-bottom: 4vw;
    margin: 0;
}
#navigation .links A {
    color: #fff;
    display: inline-block;
    line-height: 1.5;
    font-size: 2.5vw;
    opacity: 0;
    font-weight: 500;
    margin: 0;
    text-align: left;
    transform: translateX(5vw);
    transition: color .4s;
}
#navigation .links A:hover {
    color: #1c1c1c;
}
#navigation .links A:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 0.15vw;
    bottom: -3px;
    left: 0px;
    display: inline-block;
    background-color: #80684B;
    transform: rotateY(90deg);
    transition: transform 0.8s ease-out;
    will-change: transform;
}
#navigation .links A:hover:after {
	transform: rotateY(180deg);
}

#navigation.active li:first-child a {
    transition: color 0.4s, transform 0.6s 0.2s, opacity 0.6s 0.2s;
}
#navigation.active li:nth-child(2) a {
    transition: color 0.4s, transform 0.6s 0.3s, opacity 0.6s 0.3s;
}
#navigation.active li:nth-child(3) a {
    transition: color 0.4s, transform 0.6s 0.4s, opacity 0.6s 0.4s;
}
#navigation.active li:nth-child(4) a {
    transition: color 0.4s, transform 0.6s 0.5s, opacity 0.6s 0.5s;	
}
#navigation.active li:nth-child(5) a {
    transition: color 0.4s, transform 0.6s 0.6s, opacity 0.6s 0.6s;	
}
#navigation.active li:nth-child(6) a {
    transition: color 0.4s, transform 0.6s 0.7s, opacity 0.6s 0.7s;	
}
#navigation.active A {
    transform: translateX(0);
    opacity: 1;
	color: #fff;
}
ul.submenue {
    position: absolute;
    left: 31vw;
    top: 0;
    border-left: 1px solid #fff;
    padding-left: 6vw;
}

.nav-footer {
    width: 80%;
    border-bottom: 1px solid #fff;
    margin-bottom: 10vh;
    margin-top: 5vh;
}
.nav-footer .footer-icon {
    width: 9%;
    display: inline-block;
}

.nav-adresse {
    position: fixed;
    left: 22vw;
    width: 70vw;
    text-align: left;
    color: #fff;
    bottom: 3vw;
    display: flex;
    flex-direction: row;
    font-size: 1.3vw;
    line-height: 1.2;
}
.nav-adresse div {
    width: 22vw;
}
/* ENDE Menu */


/* Home */
.titel {
    width: 100%;
    text-align: left;
    color: #000;
    line-height: 1.0;
    font-size: 8.5vw;
    margin: 15vh 0 0 0;
    font-weight: normal;
    /* transition: transform 1.5s ease-in-out, opacity 1.5s ease-in-out; */
    white-space: nowrap;
}
.titel.animate, .animate .titel {
    transform: translateY(0);	
}

/* Herz-Animation */
.animation-wrapper {
    position: relative;
}
.animation-wrapper > img {
    position: absolute;
	opacity: 0;
	transition: all 2.5s ease-out 1s;
}
#ani1 {
    width: 10%;
    left: 43.1%;
    top: 24%;
    transform: rotateY(90deg) translate(-200%, 100%);
}
#ani2 {
    width: 10%;
    left: 46.9%;
    top: 24%;
    transform: rotateY(90deg) translate(200%, 100%);
}
#ani3 {
	transform: rotateY(90deg);
    width: 26%;
    left: 37%;
    top: 45%;
	transition: all 1s ease-out 0s;
}
.animation-wrapper.animate #ani1 {
	opacity: 1;
	transform: rotateY(0) translate(0, 0);
	transition-delay: 0s;
}
.animation-wrapper.animate #ani2 {
	opacity: 1;
	transform: rotateY(0) translate(0, 0);
	transition-delay: 0s;
}
.animation-wrapper.animate #ani3 {
	opacity: 1;
	transform: rotateY(0);
	transition-delay: 1.8s;
}


.section-content {
    margin: 0 auto;
    width: 84%;
    position: relative;
    padding: 6vw 0 10vw 0;
}
.section-content.full {
    width: 100%;
}
.section-content.full.banner.color {
    background: #80684B;
    padding-top: 0;
    padding-bottom: 6vw;
    border-radius: 8vw;
    overflow: hidden;
}
.section-content.center {
    text-align: center;
}
.section-content.line-top {
    border-top: 1px solid #1c1c1c;
    padding-top: 3vw;
}
.banner.overflow {
    overflow: visible !important;
    height: 32vw;
    margin-top: 20vw;
}
.banner.overflow figure.portrait {
    width: 35vw;
    position: absolute;
    left: 8vw;
    bottom: 6vw;
}
.banner-text.half.zitat {
    width: 50vw;
    margin-left: 48%;
    color: #fff;
    font-size: 2.5vw;
    text-align: left;
    top: 26%;
}

.flex {
    display: flex;
    gap: 0;
}
.main-content {
    width: 70%;
}
.main-content.fade, .left-content.fade {
    transform: translate(-5vw, 0);	
}
.main-content.right.fade, .right-content.fade {
    transform: translate(5vw, 0);	
}
.main-content.fade.animate, .right-content.fade.animate, .left-content.fade.animate {
    transform: translate(0, 0) ;	
}
.left-content {
    width: 45%;
	padding-right: 5%;
}
.right-content {
    width: 50%;
	padding-right: 2%;
    padding-right: 0;
}
h2.teaser {
    font-size: 2.3vw;
    letter-spacing: 0;
    line-height: 1.2;
    margin: 0;
    font-weight: 600;
    color: #80684B;
}

.kreise {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 4vw;
}
.kreis {
    display: flex;
    flex-direction: column;
    border: 1px solid #1c1c1c;
    width: 27vw;
    height: 27vw;
    border-radius: 50%;
    color: #80684B;
    align-items: center;
    justify-content: space-around;
    font-weight: 600;
    text-align: center;
    font-size: 2.2vw;
	transition: background .3s ease-out, color .3s ease-out, border .3s ease-out, transform 1.4s ease-in-out;
}
.fade .kreis {
	transform: rotateY(90deg);
}
.fade.animate .kreis {
	transform: rotateY(0deg);
}
.kreis img.icon {
    height: 25%;
}
.kreis .small {
    color: #1c1c1c;
    font-size: .53em;
    font-weight: normal;
    height: 25%;
    margin: 0;
    line-height: 1.4;
}

/* Termine */
.small.datum {
    font-size: .65em;
    height: 10%;
    margin-top: 15%;
}
.small.ort {
    height: 20%;
    margin-bottom: 5%;
}
a.kreis:hover {
    background-color: #80684B;
    border: 1px solid #80684B;	
	color: #fff;
}

/* Blog */
.blog-content {
    margin-top: 4vw;
    display: flex;
    gap: 5%;
    flex-wrap: nowrap;
}
.blog-box {
    width: 28vw;
}
.blog-content figure.blog-img {
    margin-bottom: 2vw;
    border-radius: 6vw 0;
}
a.blog-link {
    /* color: #1c1c1c; */
    font-weight: bold;
    padding-bottom: 0;
    display: block;
    text-decoration: underline;
    text-underline-offset: .11em;
}
p.blog-teaser {
    font-size: 0.65em;
    color: #1c1c1c;
}



/* Team */
#Team .section-content {
    display: flex;
    flex-direction: column;
    gap: 6vw;
}
.team-box.flex {
    gap: 2%;
}
.team-box.flex:nth-child(2n) {
    flex-direction: row-reverse;
}
.team-bild {
    width: 41%;
}
.team-content {
    width: 47%;
    padding-right: 10%;
    display: flex;
    flex-wrap: wrap;
}
.team-box.flex:nth-child(2n) .team-content {
    text-align: right;
    padding-right: 0;
    padding-left: 10%;
}
#Team h2.teaser {
    margin: 0;
    width: 100%;
}
.team-text {
    align-self: flex-end;
    font-size: 1.3vw;
    width: 100%;
}
.team-text p.last {
    margin-bottom: 0.5vw;
}
img.pakreis {
    width: 14vw;
    position: absolute;
    left: 0;
    bottom: 10vw;
    animation: rotation 8s linear;
    animation-iteration-count: infinite;
    animation-delay: 0s;
	transition: none;
}


/* Expertise */
#Expertise .main-content.right {
    margin-left: 42%;
    width: 58%;
    margin-top: 6vw;
}
#Expertise .newstitle {
    border-top: 1px solid #80684B;
    padding: 3vw 0;
    margin-top: 2vw;
	position: relative;
}
#Expertise .newstitle:last-child {
    padding-bottom: 0;
}
#Expertise .newstitle .number {
    position: absolute;
    right: 0;
    top: -2.5vw;
    font-size: 1.2vw;
}
#Expertise .newstitle .bezeichnung {
    font-size: 5vw;
    line-height: 1.0;
    margin-bottom: 3vw;
}
#Expertise .newstitle .description {
    width: 42%;
}


/* News */
#News {
    margin-bottom: 6vw;
}
#News .title {
    margin-bottom: 3vw;
}

.slide-wrapper {
    width: 92vw;
}
.newslist.slide {
    gap: 3vw;
    width: auto;
    overflow-x: hidden;
    padding-right: 3vw;
}
.slide .news-box {
    width: 27vw;
    color: #000;
}
.slide .news-img {
    background: #ccc;
    height: 18vw;
    overflow: hidden;
    width: 27vw;
}
#News .news-title {
    font-size: 1.2vw;
    font-weight: normal;
    margin-top: 1.2vw;
    margin-bottom: 1.8vw;
}
#News .news-teaser {
    font-size: 1.6vw;
    line-height: 1.1;
    font-weight: normal;
}
#News .contactbut {
    right: 0;
    top: initial;
    bottom: 0;
}
.slide-nav {
    display: inline-block;
    position: absolute;
    top: 4vw;
    width: 6vw;
    height: 5vw;
    margin: 0;
	cursor: pointer;
	opacity: 0;
	transition: .6s opacity;
}
.slide-nav.show {
	opacity: 1;
}
.slide-nav.prev {
    right: 9vw;
}
.slide-nav.next {
    right: 0;
}



/* Karriere */
#Jobs .newstitle.accordion {
    height: 11.2vw;
    border-bottom: 1px solid #80684B;
    color: #fff;
    position: relative;
    cursor: pointer;
    transition: height .6s ease-in-out;
}
#Jobs .newstitle .bezeichnung {
    font-size: 3vw;
    line-height: 1.2;
    padding: 2vw 0 2vw 8%;
    display: block;
    transition: transform .6s ease-in-out;
}
#Jobs .newstitle:not(.open):hover .bezeichnung {
    transform: translateX(-4vw);
}
#Jobs  .newstitle .number {
    display: inline-block;
    position: absolute;
    left: 2vw;
    top: 2.7vw;
    font-size: 1.3vw;
    transition: transform .6s ease-in-out;
}
#Jobs .newstitle:not(.open):hover .number {
    transform: translateX(-4vw);
}
#Jobs .description {
    padding-bottom: 8vw;
    opacity: 0;
    width: 58%;
    margin-left: 42%;
    transform: translateY(2vw);
    transition: transform .6s ease-in-out, opacity .6s ease-in-out;
}
.description p {
    opacity: 1;
    transform: none;
}
#Jobs .bewerben {
    text-align: right;
    margin: 3vw 0 4vw 0;
}
#Jobs .contactbut {
    right: initial;
    top: initial;
    font-size: 1.2vw;
    text-transform: uppercase;
    position: relative;
    margin: 0;
}
#Jobs .newstitle.accordion.open {
    height: auto;
}
#Jobs .open .bezeichnung {
    color: #80684B;
}
#Jobs .open .description {
    opacity: 1;
    transform: translateY(0);
}
.small {
    font-size: .64em;
    margin-bottom: 1.2em;
}

/* Kontakt */
.section-content.full.banner.color.black {
/*    background: linear-gradient(0deg, #1c1c1c 20%, transparent);*/
    background: #1c1c1c;
}
.banner-text {
    position: absolute;
    left: 5%;
    top: 22%;
    width: 90%;
    text-align: center;
}
.banner-text.zitat {
    font-size: 4.7vw;
    line-height: 1.1;
}
.banner-text.zitat .name {
    font-size: 1.5vw;
}

/* Footer */
footer {
    background: #80684B;
    color: #fff;
    border-radius: 10vw 10vw 0 0;
    font-weight: 300;
    margin-top: 6vw;
}
footer .section-content {
    margin: 0 auto;
    width: 84%;
    position: relative;
    padding: 6vw 0;
}
.kontakt-header {
    font-size: 2.5vw;
    line-height: 1.1;
    margin-bottom: 4vw;
}
.kontakt-text {
    text-align: left;
    color: #fff;
    font-size: 1.45vw;
    gap: 6%;
    line-height: 1.3;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.kontakt-text .footer-name {
    width: 25%;
}
.kontakt-text .footer-adresse {
    width: 25%;
}
.kontakt-text .footer-kontakt {
    width: 41%;
}
.kontakt-text .footer-icon {
    width: 11%;
    text-align: right;
}
.kontakt-text a {
    color: #fff!important;
    font-size: 1.4vw;
}
.footer {
    border-top: 1px solid #ffffff;
    margin-top: 1.8vw;
    padding-top: 2.2vw;
    color: #fff;
    font-size: 1.2vw;
    letter-spacing: 0.08vw;
}
.footer a {
    color: #fff;
}
.legal-links {
    float: right;
}
.legal-links a {
    margin-left: 6vw;
}

#up {
    position: fixed;
    bottom: 2vw;
    right: 2vw;
    background: #fff;
    width: 2vw;
    height: 2vw;
    border-radius: 50%;
    border: 1px solid #80684B;
    padding: .8vw 1vw 1.2vw 1vw;
    box-shadow: 0 0 1vw rgba(0, 0, 0, 0.1);
	cursor: pointer;
	transform: scale(0);
	transition: transform .3s;
}
#up.show {
	transform: scale(1);
}

/* Angebot */
.col-right {
    width: 50%;
    margin-left: 50%;
}


/* Textseiten Impressum etc. */
body.legal {
    font-size: 1.5vw;
    line-height: 1.3;
}
.legal h1 {
    font-size: 3vw;
    margin-top: 0;
    color: #80684B;
}
.legal h2 {
    font-size: 1.6vw;
    letter-spacing: 0;
    margin: 2vw 0 .5vw 0;
    font-weight: 600;
}



