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

div#body_outer {
	text-align:left;
}

div#body {
	text-align:left;
	margin:0px auto;
	max-width:1100px;
	position: relative;
}

div#main div#content {
	vertical-align:top;
}

div#header_fixed_content {
	background-color:#ffffff;
}

div.contentslider {
	height: 50vh;
	max-height: 500px;
	min-height: 320px;
	overflow: hidden;
}

div.width {
	margin-left:auto;
	margin-right:auto;
}

div#header {
	height:180px;
	text-align: left;
}

div#logo {
	margin-right: 50px;
}

div#logo a {
	display: inline-block;
	height: 155px;
	width: 310px;
	background-image: url(/files/images/logo/logo.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: right center;
	vertical-align: top;
}

div#header div.menuText {
	display:none;
	position:absolute;
	cursor:pointer;
  -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

div#header div.slogan {
	font-size: 1.7em;
	line-height:1.2;
	text-transform: uppercase;
	margin-left: 75px;
}

.swiper-button-prev, .swiper-container-rtl .swiper-button-next,
.swiper-button-next, .swiper-container-rtl .swiper-button-prev {
	background: none;
    font-size: 3.75rem;
}

.swiper-button-prev, .swiper-container-rtl .swiper-button-next {
    left: 50px;
}

.swiper-button-next, .swiper-container-rtl .swiper-button-prev {
    right: 50px;
}

span.headline {
    font-size: 32px;
}

.w3-display-topright.text > span.headline {
    text-transform: uppercase;
}

span.subline {
    font-size: 21px;
}

div#startlinks,
div#startslider {
	position:relative;
}

div#startlinks a.arrow-right,
div#startlinks a.arrow-left,
div#startslider a.arrow-right,
div#startslider a.arrow-left {
	display:inline-block;
	height:26px;
	width:26px;
	background-color: #d8d9d9;
	overflow:hidden;
	text-indent: -100px;
	position:absolute;
	top:50%;
	margin-top:-13px;
	z-index:1000;
	background-position:center;
	background-repeat:no-repeat;
}

div#startlinks a.arrow-right,
div#startlinks a.arrow-left
{
	margin-top:0px;
	top:70px;
}

div.sliderNav {
	padding:0px 0px 0px 0px;
}

div.sliderNav a::before {
	display: none;
}

div.sliderNav a.arrow-right,
div.sliderNav a.arrow-left {
	display: none;
}

div.pagination {
	max-height:10px;
	text-align:right;
	padding-top:0;
}

div.pagination span.swiper-pagination-switch {
	display:inline-block;
	vertical-align:top;
	width:12px;
	height:5px;
	background-color:#96c03a;
	margin-left:5px;
	margin-top:0px;
}

img.floatright {
	float:right;
}

img.marginleft {
	margin-left:10px;
}

img.floatleft {
	float:left;
}

div.pagination span.swiper-pagination-switch:first-child {
	margin-left:0px;
}

/*div.pagination span.swiper-pagination-switch.swiper-active-switch {*/
div.pagination span.swiper-pagination-switch {
background-image:url(../images/pagination_bg.png);
background-repeat:repeat-y;
background-size:0% 100%;
}

div#footer {
	color: #000000;
	position:relative;
	line-height:1.2;
}

div#footertext {
	padding:10px 0px 10px 0px;
	text-align:center;
}

div#footertext img {
	vertical-align:baseline;
}

/* div#footertext ul li:nth-child(5)::before {
	content: '';
} */

div#footer a {
	color: #000000;
	font-weight: normal;
	text-decoration:none;
	display: inline;
}

div#footer a::before {
	display: none;
}

div#footer a.normal {
	font-weight:normal;
}

div#footer ul li {
	background-image: none;
	display: inline-block;
	line-height: 1.5;
	padding-left: 0;
	text-align: left;
}

div#footer ul li:before {
	content: "·";
	display: inline-block;
	padding-left: 3px;
	padding-right: 7px;
	width: auto;
}

div#footer ul li:first-child:before {
	display: none;
}

div#mainmenu {
	background-color: #ffffff;
	left: 80px;
	text-align: left;
	top: 115px;
	width: auto;
	z-index: 2;
}

div#mainmenu ul {
	list-style:none;
	margin:0px;
	padding:0px;
	text-align: left;
}

div#mainmenu li {
	margin:0px;
	padding:0px;
	background-position:0px 0px;
	background-image:none;
	font-size:18px;
	text-align: left;
}

div#mainmenu > ul > li {
	display: inline-block;
	vertical-align: top;
	line-height: 2;
	height: 2.0em;
	font-size: 1.1rem;
	position: relative;
	margin: 0px;
	text-align: center;
}

div#mainmenu > ul > li::before, div#mainmenu > ul > li > ul > li::before {
	content: "|";
	display: inline-block;
	padding-left: 2px;
	padding-right: 10px;
}

div#mainmenu > ul > li.first {
	display:none;
}

div#mainmenu > ul > li:first-child {
	margin-left:0px;
}

div#mainmenu > ul > li:first-child:before {
	display: none;
}

div#mainmenu > ul > li > a,
div#mainmenu > ul > li > span,
div#mainmenu > ul > li > span > a {
	color:#000000;
	text-decoration:none;
	text-transform: uppercase;
	font-weight:300;
	text-align: center;
}

div#mainmenu > ul > li > a.active {
	font-weight: bold;
}

div#mainmenu > ul > li > a::before,
div#mainmenu > ul > li > span > a::before,
div#mainmenu > ul > li > ul > li > span > a::before,
div#mainmenu > ul > li > ul > li > a::before {
	display: none;
}

div#mainmenu > ul > li > a:hover,
div#mainmenu > ul > li > span:hover,
div#mainmenu > ul > li > span > a:hover,
div#mainmenu > ul > li > span,
div#mainmenu > ul > li > span > a {
	color: #000000;
	font-weight: 400;
}

div#mainmenu > ul > li > ul {
	position:absolute;
	display:none;
	line-height:1.3;
	left:0px;
	top:40px;
	z-index:2000;
	background-color:#ffffff;
	border:1px solid #C0C0C0;
	padding:5px 0px;
	text-align:left;
	width: initial;
}

div#mainmenu > ul > li.visible > ul {
	display:block;
}

div#mainmenu > ul > li:last-child > ul {
	left:auto;
	right:0px;
}


div#mainmenu > ul > li > ul > li
{
	line-height:30px;
	white-space:nowrap;
	padding:0px 15px 0px 15px;
	position:relative;
	width: auto !important;
}

div#mainmenu > ul > li > ul > li > span,
div#mainmenu > ul > li > ul > li > span > a,
div#mainmenu > ul > li > ul > li > a {
	padding:0px 0px 0px 0px;
	display:block;
	color:#201f1e;
	font-weight:normal;
}

div#mainmenu > ul > li > ul > li > a:hover,
div#mainmenu > ul > li > ul > li > span,
div#mainmenu > ul > li > ul > li > span > a {
	color: #000000;
}

div#mainmenu > ul > li > ul > li > span {
	padding-left:0px;
	background-image:none;
}

div#mainmenu > ul > li > ul > li > ul {
	position:absolute;
	display:none;
	line-height:1.3;
	margin-left:-50px;
	margin-top:5px;
	left:100%;
	top:0%;
	z-index:2000;
	background-color:#ffffff;
	border:1px solid #424242;
	padding:8px 0px;
}

div#mainmenu > ul > li > ul > li.visible > ul {
	display:block;
}

div#mainmenu > ul > li > ul > li > ul > li
{
	line-height:30px;
	white-space:nowrap;
	padding:0px 15px 0px 15px;
	position:relative;
}

div#mainmenu > ul > li > ul > li  > ul > li > span,
div#mainmenu > ul > li > ul > li  > ul > li > span > a,
div#mainmenu > ul > li > ul > li  > ul > li > a {
	padding:0px 0px 0px 0px;
	display:block;
	color:#201f1e;
	font-weight:normal;
}

div#mainmenu > ul > li > ul > li  > ul > li > a:hover,
div#mainmenu > ul > li > ul > li  > ul > li > span > a {
	color: #000000;
}

div#mobilemenu {
	padding-top: 12px;
    display: none;
}

div#mobilemenu a {
	background-image: url(/files/images/elements/mobilemenu.png);
	background-position: top left;
	background-repeat: no-repeat;
	background-size: contain;
	display: inline-block;
	height: 32px;
	margin-left: 24px;
	transform: rotateY(0);
	transition: transform 500ms ease-out;
	width: 32px;
}

/* div#mobilemenu a:hover {
	transform: rotateY(45deg);
} */

.swiper-slide {
	position:relative;
}

.swiper-container div.description {
	position:absolute;
	background-color: #96c03a;
	height: auto;
	left:0;
	top:585px;
	padding:8px 15px 8px 15px;
	color:#ffffff;
	text-align: left;
	/*display: none;*/
	font-size: 25px;
	overflow-y: hidden;
	transform: translateX(1100px);
	z-index: 1;
}

div#startslider .swiper-slide {
	width:950px;
	height:500px;
}

div#startlinks .swiper-slide > div {
	width:189px;
}

div#startlinks .swiper-container {
	margin-left:-8px;
}

div#startlinks .swiper-slide img {
	margin-top:5px;
	width:189px;
}

div#startslider .swiper-slide p {
	margin:0px;
}

div#startslider .swiper-slide h2 {
    font-weight: normal;
    position: absolute;
    text-align: right;
    right: 0px;
    bottom: 30px;
    margin: 0px;
    padding: 5px 10px 5px 20px;
    background-color: #000000;
    color: #ffffff;
	font-size:22px;
}

div#startslider .swiper-slide h2 strong {
	color:#ffffff;
}

div#startlinks .swiper-slide h2 {
	font-size:17px;
	font-weight:600;
}


img.fullsize {
	display:block;
}

.swiper-slide img.fullsize {
	width: 998px;
	height:320px;
}

a.pdf {
	display:inline-block;
	padding-left:18px;
	background-image:url(../images/pdf_icon_small.png);
	background-repeat:no-repeat;
	background-position:left 3px;
}

.margintop {
	margin-top:15px !important;
}


.highslide:hover img,
.highslide img {
	border:none;
}

.submenuAndPageWidth {
	max-width:359px;
}

div#zitat {
	position:relative;
	margin-bottom:30px;
}

.color_left,
.color_right {
	position:absolute;
	top:0px;
	bottom:0px;
	z-index:100;
}

.color_left {
	left:0px;
	right:50%;
	background-color: #000000;

}
.color_right {
	right:0px;
	left:50%;
}

div#zitat_content {
	background-color: #000000;
	color:#ffffff;
	position:relative;
	z-index:200;
	padding-top:15px;
	padding-bottom:15px;
	line-height:1;
	text-align:right;
}

div#zitat_content div {
	font-weight:600;
	text-align:left;
	display:inline-block;
	font-size:26px;
	margin-right:100px;
}

div#zitat_content div span {
	display:block;
	font-size:13px;
}

div.themecontent {
	width:780px;
	display:inline-block;
	margin-top:15px;
}

div.themecontent > div {
	float:left;
	width:390px;
}

div.themecontent ul {
	width:195px;
	float:left;
	vertical-align:top;
	margin-top:0px;
}

.mobile {
	display: none;
}

div.contentitem > div.contentslider div.sliderNav {
	display: none;
}

div.anchor {
	height: 0;
	position: absolute;
	top: -165px;
	width: 0;
}

div#map {
	height: 500px;
	margin-top: 60px;
}

span.title {
	font-size: 17px;
}

ul.bottom {
	position: absolute;
	bottom: 25px;
	width: 432px;
}

.w3-button {
    margin-top: 16px;
    text-transform: uppercase;
    border: 2px solid #000;
}

.w3-button:focus,
.w3-button:hover {
    background-color: #000 !important;
    color: #fff !important;
}

.w3-custom-padding-large {
    padding: 12px 110px;
}

div.contentitem.w3-custom-padding-large.notary + div.w3-row {
	padding: 0 40px;
}
div.contentitem.w3-custom-padding-large.notary + div.w3-row h2 {
	/* one line height */
	max-height: 48px;
	overflow: auto;
}
div.contentitem.w3-custom-padding-large.notary + div.w3-row > div.w3-half ul > li {
	line-height: 22px;
	max-height: none;
}
div.contentitem.w3-custom-padding-large.notary + div.w3-row > div.w3-half {
	margin-bottom: 5%;
}
div.contentitem.w3-custom-padding-large.team + div.w3-row {
    padding: 0 40px;
}
form#contactform {
	margin: 0 auto;
	width: 100%;
    padding-left: 20px;
	margin-bottom: 5%;
}
div#kontakt + div.w3-row {
	padding: 12px 60px 0 110px;
}
div#kontakt + div.w3-row > div.w3-half h2 {
	padding: 0;
}
div#kontakt + div.w3-row > div.w3-half > div.w3-display-container.w3-section > p {
	margin-top: 0;
	padding-left: 20px;
	line-height: 1.5;
}
div#kontakt + div.w3-row > div.w3-half .w3-button {
    border: 1px solid #000;
    margin-top: 0;
    text-transform: none;
    padding-top: 4px;
    padding-bottom: 3px;
}
div#kontakt + div.w3-row span {
	display: none;
}
div#kontakt + div.w3-row br.max {
	display: inline;
}
div#kontakt + div.w3-row br.mid, div#kontakt + div.w3-row br.min {
	display: none;
}
div#kontakt > p.parking {
	display: block;
}
div.w3-half.form-address {
	padding-left: 11%;
}
div.w3-half.form-address h2 {
	visibility: hidden;
}
div.w3-half:last-of-type > div.placeholder-wrapper {
	display: flex;
	justify-content: flex-end;
}
div.w3-half:last-of-type > div.placeholder-wrapper label {
	left: 20%;
}
.w3-half h2 {
    font-size: 32px;
    padding-left: 40px;
}
.w3-half .contentform p {
    padding-left: 60px;
}

.w3-half ul {
    padding-left: 60px;
}

.w3-half img {
    margin-bottom: 16px;
}

.w3-display-bottomright.text {
    right: 60px;
    bottom: 60px;
    line-height: 1.0;
}


.w3-display-topright.text {
    right: 60px;
    top: 60px;
    line-height: 1.0;
}
.placeholder-wrapper {
	position: relative;
}
.placeholder-wrapper:first-child,
.placeholder-wrapper:nth-child(2n+1) {
	margin-left: 0;
}

.placeholder-wrapper label {
	background-color: transparent;
	position: absolute;
	top: 9%;
	left: 9%;
	transition: all 120ms ease;
}

.placeholder-wrapper.error label {
	color: #ffffff;
}

.placeholder-wrapper label.select,
.placeholder-wrapper label.focus,
.placeholder-wrapper.error label.select,
.placeholer-wrapper.error label.focus {
	background-color: #ffffff;
	color: #888888;
	top: -11px;
	left: 5px;
	font-size: 12px;
	padding: 2px 6px;
    line-height: 1;
}
.placeholder-wrapper input[type="text"],
.placeholder-wrapper select {
	height: 30px;
	padding: 1% 7%;
	font-size: 18px;
}
.placeholder-wrapper input[type="text"],
.placeholder-wrapper select {
	border: 1px solid #000;
	margin-bottom: 9px;
	width: 195px;
	-webkit-appearance: none;
	-moz-appearance: none;
	color: #000;
}
.placeholder-wrapper textarea {
	border: 1px solid #000;
	margin-bottom: 9px;
	width: 195px;
	height: 186px;
	padding: 7px 5px;
	box-sizing: border-box;
}

div.button {
	text-align: right;
}

div.button a.btn {
	height: 35px;
	line-height: 30px;
	background-color: #ffffff;
	border: 1px solid #888888;
}

div.button a.btn:hover {
	background-color: #000000;
	border: 1px solid #000000;
}

p.empty {
	height: 0;
	position: absolute;
	top: 0;
	margin-top: -15px;
}

.error input[type="text"],
.error textarea,
.error select {
	background-color: #ff0000;
	color: #fff;
}

.overlay {
	background-color: rgba(0, 0, 0, 0.8);
	opacity: 0;
	position: absolute;
	top: 10px;
	left: 14px;
	right: 14px;
	bottom: 0;
}

.overlay.show {
	opacity: 1;
}

.overlay a {
	color: #ffffff;
	display: block;
	font-size: 45px;
	height: 100%;
	width: 100%;
}

#scroll-down-arrow {
  animation-name: arrow-down;
  animation-duration: 4s;
  animation-timing-function: ease;
  animation-iteration-count: infinite;
  animation-direction: normal;
  animation-fill-mode: none;
  animation-play-state: running;
	animation-delay: 1s;
	height: 50px;
	width: 50px;
	background-color: transparent;
	border-radius: 2px;
	position: fixed;
	bottom:40px;
	color: rgba(0, 0, 0, 0.5);
	font-size: 50px;
	left: calc(50% - 25px);
}

@keyframes arrow-down {
	0% {bottom: 40px;}
	10% {bottom: 50px;}
	20% {bottom: 40px;}
	30% {bottom: 50px;}
	40% {bottom: 30px;}
	50% {bottom: 50px;}
	60% {bottom: 40px;}
	70% {bottom: 50px;}
	80% {bottom: 30px;}
	90% {bottom: 50px;}
	100% {bottom: 40px;}
}

#scroll-down-arrow:hover {
	cursor: pointer;
}

div#cookie_notice {
	position:fixed;
	bottom:0px;
	background-color:rgba(0, 0, 0, 0.9);
	display:none;
	font-size: 14px;
	width:100%;
	min-height:40px;
	color:rgba(255, 255, 255, 1.0);
	padding-left:20px;
	line-height:25px;
	z-index:3000;
}

div#cookie_notice p#cookie_content {
	background-image:none;
	color:rgba(255, 255, 255, 1.0);
	margin-bottom: 8px;
	margin-top: 10px;
	padding-bottom: 0;
	padding-right:20px;
	text-align: left;
}

div#cookie_notice a#more_information,
div#cookie_notice a#notice_btn {
	display:inline-block;
	font-size: 14px;
}

div#cookie_notice a#more_information,
div#cookie_notice a.cookie-link {
	color:rgba(255, 255, 255, 1.0);
	text-decoration:none;
	margin-left:5px;
}

div#cookie_notice a.cookie-link {
	margin-left: 0;
}

div#cookie_notice a#notice_btn {
	background-color:rgba(255, 255, 255, 1.0);
	color: rgba(0, 0, 0, 1.0);
	float:right;
	width:135px;
	height:30px;
	border-radius:5px;
	text-align:center;
	text-decoration: none;
	line-height:30px;
	margin-top:-3px;
	margin-left:15px;
	margin-right:25px;
}

div#cookie_notice a#more_information:hover,
div#cookie_notice  a#more_information:focus,
div#cookie_notice a.cookie-link:hover,
div#cookie_notice  a.cookie-link:focus {
	color:rgba(255, 255, 255, 1.0);
	cursor:pointer;
}

div#cookie_notice a#notice_btn:hover,
div#cookie_notice a#notice_btn:focus {
	background-color:rgba(0, 0, 0, 1.0);
	color:rgba(255, 255, 255, 1.0);
	cursor:pointer;
}


@media screen and(min-width:760px) and (max-width:1000px) {
	div#cookie_notice a#notice_btn,
	div #cookie_notice a#more_information {
		margin-right: 0;
	}
}

@media screen and (min-width:0px) and (max-width:380px) {
	div#cookie_notice a#notice_btn {
		margin-top: 5px;
	}
}

@media screen and (min-width:0px) and (max-width:368px) {
	div#cookie_notice a#notice_btn {
		margin-bottom:10px;
	}
}

#mainmenu li {
	display: inline-block;
	font-size: 0;
}
#mainmenu li a {
	display:inline-block;
	text-align:center;
}
#mainmenu li a:hover {
	font-weight:bold;
}
#mainmenu li a::after {
	display: block;
	content: attr(title);
	font-weight: 400;
	height: 0;
	overflow: hidden;
	visibility: hidden;
}

/*<div class="swiper-pagination swiper-pagination-bullets">
<span class="swiper-pagination-bullet swiper-pagination-bullet-active"></span>
<span class="swiper-pagination-bullet"></span><span class="swiper-pagination-bullet"></span>
</div>*/

#swiper-1 {
	padding-bottom: 40px;
}

.swiper-pagination {
	position: absolute;
	right: 50px;
	left: auto !important;
	width: auto !important;
}

#swiper-1 .swiper-pagination {
	position: absolute;
	bottom: 0;
}

.swiper-pagination-bullet {
	width: 15px;
	height: 15px;
	display: inline-block;
	border-radius: 0;
	background: #fff;
	border:1px solid black;
	opacity: 1;
}

.swiper-pagination-bullet-active {
	background: #999;
}




#swiper-2 .swiper-pagination {
	position: absolute;
	bottom: auto;
	top: 758px;
}

.sprite {
    background-image: url(sprites/chevron.png);
    background-repeat: no-repeat;
    display: block;
}

.sprite-chevron-down {
    width: 50px;
    height: 50px;
    background-position: -5px -5px;
}

.sprite-chevron-left {
    width: 50px;
    height: 50px;
    background-position: -5px -65px;
	/*zoom:0.29;
	-moz-transform:scale(0.29);
	-moz-transform-origin: 0 0;*/
}

.sprite-chevron-right {
    width: 50px;
    height: 50px;
    background-position: -5px -125px;
}

.sprite-chevron-up {
    width: 50px;
    height: 50px;
    background-position: -5px -185px;
}

span.headline {
	font-size: 32px;
	font-weight: 500;
}

span.subline {
	font-size: 24px;
}

#swiper-2 .w3-display-topleft.text {
	text-align: right;
}

#swiper-2 span.headline {
	text-transform: uppercase;
}

#swiper-2 .swiper-slide  div  h2 {
	margin-top: -10px;
}

#swiper-2 .w3-display-topleft {
	position: absolute;
	left: 60px;
	top: 60px;
}

#swiper-1 img, #swiper-2 img{
	width: 100%;
}

h2 {
	font-weight: normal;
}

ul li{
	margin-left: 20px;
}
#team div.member ul{
	list-style: none;
}
#team div.member ul li {
	margin: -5px;
}
#team h3 {
    padding-left: 22px;
    margin-bottom: 16px;
}
#team ul {
    padding-left: 68px;
}
#team div.member h3 {
	font-size: 20px;
}

#team div.member h3:first-of-type {
	margin-bottom: -5px;
}

#team div.member h3:nth-of-type(2) {
	margin-bottom: 8px;
}
div#team.w3-row {
	padding-bottom: 0;
}
div#team.w3-row > div.w3-col > div.member > p:first-of-type {
	padding: 0 20px;
/*
	display: flex;
*/
	justify-content: center;
}
div#team.w3-row > div.w3-col {
	margin-bottom: 5%;
}

div#team div.member img {
    width: 100%;
}
span.headline {
	font-family: 'Montserrat', sans-serif;

}

span.headline, h2, h3{
	letter-spacing: 2px;
	word-spacing: 4px;
}

h3{
	letter-spacing: 2px;
	word-spacing: 3px;
}

/*h3 {
	letter-spacing: 1px;
	word-spacing: 5px;
}*/

h2 {
	font-weight: normal;

}

span.subline {
	font-family: 'CronosPro', sans-serif;
}
div#footer {
    font-size: 12px;
    border-bottom: 1px solid black;
    margin-bottom: 10px;
}

div#footertext {
    padding: 0 0 8px 0;
}

div#footer a {
    color: #000000;
    font-weight: 300;
    text-decoration: none;
    display: inline;
}
h1 {
    font-weight: bold;
}

#header_telephone_info {
	width: 35%;
	height: 80px;
	border: 1px solid gray;
	display: table;
	position: absolute;
	left: 80px;
	top: 20px;
}

#header_telephone_info p {
	display: table-cell;
	vertical-align: middle;
    text-align: center;
    padding: 0;
}

#header_telephone_info_mobile {
	display:none;
}

.video_padding {
    padding-left: 60px !important;
    padding-right: 60px !important;
}

@media screen and (min-width : 765px) and (max-width : 1099px) {
    .video_padding {
    padding-left: 20px !important;
    padding-right: 20px !important;
}
}

@media screen and (max-width : 764px) {
    .video_padding {
    padding-left: 30px !important;
    padding-right: 30px !important;
}
}
