/* stand 29.04.2025 */



body {
	-webkit-text-size-adjust: none;
	-webkit-font-smoothing: subpixel-antialiased;
	text-rendering: optimizelegibility;
}

body, h1, h2, h3, h4, h5, h6, ul, li, ol, div, p, a, img {
    margin: 0;
    padding: 0;
}


header, section, article, nav, footer, address, aside, dialog {
  font-variant:normal;
  font-style:normal;
  margin: 0;
  padding: 0;
  display: block;
   
}

figcaption, figure, main {
  display: block;
}

hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  height: 0;
  overflow: visible;
}


html {
  line-height: 1.15;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

table, table td { 
    border:none;
    border-collapse:collapse;
}

a              { text-decoration: none !important; outline:none !important; }
a:link         { text-decoration: none !important; outline:none !important; }
a:visited      { text-decoration: none !important; outline:none !important; }
a:hover        { text-decoration: none !important; outline:none !important; }
a:active       { text-decoration: none !important; outline:none !important; }


img {
  vertical-align:top;
  border:0;
  max-width:100%;
}

.img-responsive{
  width: 100% !important;
  height: auto;
}

.responsive-img img {
  width: 100% !important;
  height: auto;
}

#page {
	width: 2560px !important;
	max-width:100% !important;
	overflow-x: hidden;
	height:auto;
	margin-left:auto;
	margin-right:auto;
	background-color:#fff;

}


h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
  font-weight: inherit;
}

/* 
footer parallax
footer-parallax.js
https://codepen.io/ostrmndev/pen/ELJymr 

*/


main {
  width: 100%;
  height:auto;  
  position: relative;
  background:#fff;
  overflow-x: hidden;

}


.wf-flex-space-between {
	height: 100%;
	display: flex;
	display: -webkit-flex;
	display: -ms-flexbox;
	flex-flow: row wrap;
	-webkit-flex-flow: row wrap;
	-ms-flex-wrap: wrap;
	
	-webkit-align-content:space-between;
	-ms-align-content:space-between;
	-ms-flex-line-pack:justify;
	align-content:space-between;
  	
}




.wf-translate-middle {
  transform: translate(-50%, -50%) !important;
}

.wf-align-items-center {

-webkit-align-items:center;-ms-align-items:center;-ms-flex-align:center;align-items:center;

}

.wf-justify-content-center {

-webkit-justify-content:center;-ms-justify-content:center;-ms-flex-pack:center;justify-content:center;

}

.mk-relative,
.wf-relative {
	position:relative;
	z-index:5;
}



/* Owl carousel 100% height

 https://stackoverflow.com/questions/29629780/owl-carousel-100-height
----------------------------------------------------------------------- */

.wf-owl-height.owl-carousel,
.wf-owl-height .owl-stage-outer,
.wf-owl-height .owl-stage,
.wf-owl-height .owl-item,
.wf-owl-height .dce-owl,
.wf-owl-height .dce-owl-height-item,
.wf-owl-height .img-responsive{	
	object-fit:cover;	
	width: auto;
	height: 100%;
}


/* swiper display all images with the same height in a Swiper slider

  https://stackoverflow.com/questions/66705817/display-all-images-with-the-same-height-in-a-swiper-slider 
  https://framework7.io/react/swiper#examples
----------------------------------------------------------------------- */

.swiper-height {
	height: auto !important;
}
.swiper-content {
	height: 99% !important;
}


/* gradient background pattern - grid, dot, square - border generator

https://codepen.io/johnheiner/pen/aywyLR
https://codepen.io/vii120/pen/mdZGQeN

https://webspe.net/tools/en/border/
https://kovart.github.io/dashed-border-generator/
----------------------------------------------------------------------- */

.wf-dot--1 {
  position: relative;
  background-image: linear-gradient(to bottom, transparent, transparent 20%, #fff 20%, #fff 90%, transparent 90%), linear-gradient(to right, transparent, transparent 20%, #fff 20%, #fff 90%, transparent 90%), linear-gradient(to right, #b0bc55, #b0bc55 20%, #fff 20%, #fff 90%, #b0bc55 90%);
  background-size: 4px 4px;
}

.wf-dot--2 {
  position: relative;
  background-image: linear-gradient(to bottom, transparent, transparent 20%, #fff 20%, #fff 70%, transparent 70%), linear-gradient(to right, transparent, transparent 20%, #fff 20%, #fff 70%, transparent 70%), linear-gradient(to right, #b0bc55, #b0bc55 20%, #fff 20%, #fff 70%, #b0bc55 70%);
  background-size: 4px 4px;
}



/* parallax materialize
---------------------------------- */

.parallax-container {
  position: relative;
  overflow: hidden;
  z-index:4;
}

.parallax-container .parallax {
  position: absolute;
  top: 0;
  left: -0.5px;
  right: 0;
  bottom: 0;
  z-index: -1;  
}

.parallax-container .parallax img {
  opacity: 0;
  position: absolute;
  left: 50%;
  bottom: 0;
  min-width: 100%;
  min-height: 100%;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.parallax-container .parallax video {
  opacity: 0;
  position: absolute;
  left: 50%;
  bottom: 0;
  min-width: 100%;
  min-height: 100%;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}



/* Feel free to change duration  */ 
.animated  {
  -webkit-animation-duration : 1000 ms  ;
  animation-duration : 1000 ms  ;
  -webkit-animation-fill-mode : both  ;
  animation-fill-mode : both  ;
}  
/* .owl-animated-out - only for current item */ 
/* This is very important class. Use z-index if you want move Out item above In item */ 
.owl-animated-out {
  z-index : 1 
   }
/* .owl-animated-in - only for upcoming item
/* This is very important class. Use z-index if you want move In item above Out item */ 
.owl-animated-in {
  z-index : 0 
   }
/* .fadeOut is style taken from Animation.css and this is how it looks in owl.carousel.css:  */ 
.fadeOut  {
  -webkit-animation-name : fadeOut  ;
  animation-name : fadeOut  ;
}  
@-webkit-keyframes  fadeOut  {
  0% {
    opacity : 1   ;
  }  
  100% {
    opacity : 0   ;
  }  
}
@keyframes  fadeOut  {
  0% {
    opacity : 1   ;
  }  
  100% {
    opacity : 0   ;
  }  
}




/* Scroll to top
---------------------------------- */


.scrollToTop.fadeToTop {
  -webkit-animation-name: fadeToTop;
  animation-name: fadeToTop;
  -webkit-animation-duration: 0.4s;
  animation-duration: 0.4s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

@-webkit-keyframes fadeToTop {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }

  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeToTop {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    -ms-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }

  100% {
    opacity: 1;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
  }
}

.scrollToTop.fadeToBottom {
  -webkit-animation-name: fadeToBottom;
  animation-name: fadeToBottom;
  -webkit-animation-duration: 0.4s;
  animation-duration: 0.4s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

@-webkit-keyframes fadeToBottom {
  0% {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}

@keyframes fadeToBottom {
  0% {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    -ms-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}


.scrollToTop {
  color: #fff;
  position: fixed;
  bottom: 5px;
  right: 5px;
  width: 50px;
  height: 50px;
  text-align: center;
  cursor: pointer;
  background-color:#600343;
  z-index: 705;
  -webkit-backface-visibility: hidden;
  -webkit-transform: translateZ(0);
  -webkit-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  opacity: 0;
  filter: alpha(opacity=0);
  border-radius:50px;
}

.scrollToTop i {
  line-height: 45px;
  font-size: 20px;
}

.scrollToTop:hover {
  color:#fff;
  background-color:#aea222;
}

/* Small devices (tablets, phones less than 767px) */
@media (max-width: 767px) {
  .scrollToTop {
    width: 40px;
    height: 40px;
  }

  .scrollToTop i {
    line-height: 37px;
    font-size: 17px;
  }
}


/* Fixed navigation
---------------------------------- */

.header.fixed {
	position:fixed;
	z-index: 906;
	left:0;
	top:0;
	width:100%;	
}


.fixed-header-on .header.waypoint-sticky,
.fixed-header-on .header.fixed,
.fixed-header-on header.header.transparent-header-on {
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 907;
  opacity: 0;
  filter: alpha(opacity=0);
  -webkit-backface-visibility: hidden;
  -webkit-transform: translateZ(0);
}

.fixed-header-on .header.fixed.waypoint-sticky,
.fixed-header-on .header.fixed.object-visible {
  opacity: 1;
  filter: alpha(opacity=100);
}

.fixed-header-on .header.fixed.hc-element-visible {
  opacity: 1;
  filter: alpha(opacity=100);
}

.transparent-header .sticky-wrapper {
  position: absolute;
  width: 100%;
  left: 0;
}

.fixed-header-on .header.fixed.animated {
  -webkit-animation-duration: 0.4s;
  animation-duration: 0.4s;
}



/* pagestart 
---------------------------------- */

.wf-pagestart{
	text-align:center;
}

.wf-pagestart i{
	color:#fff;
	font-size:60px !important;
	line-height:1px;
	text-shadow: 2px 3px 2px rgba(0,0,0,0.6);

	
}

.wf-pagestart-box {
	position: absolute;
	left:50%;
	bottom:50px;
	z-index:92;
	-webkit-transform: translate(-50%, 0%);
	-moz-transform: translate(-50%, 0%);
	-ms-transform: translate(-50%, 0%);
	transform: translate(-50%, 0%);
}


@media (max-width: 991px) {

.wf-pagestart {
	display:none;
}

}





/* btnvpulse border
---------------------------------- */

.wf-btn-pulse-border {
    transition: all 0.35s ease-in-out;
    position: relative;
    box-sizing: content-box;
    display: inline-flex;
    border-radius: 50%;
    justify-content: center;
    align-items: center;

}

.wf-btn-pulse-border:after,
.wf-btn-pulse-border:before {
    position: absolute;
    z-index: 0;
    left: 50%;
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
    content: "";
    display: inline-block;
    width: 3em;
    height: 3em;
    border-radius: 50%;
    transition: all 0.35s ease-in-out;
    background:#8fd234;
}

.wf-btn-pulse-border:before {
    animation: pulse-border 1500ms ease-out infinite;
}

.wf-btn-pulse-border:hover:after,
.wf-btn-pulse-border:hover:before {
    opacity: .55
}



@keyframes pulse-border {
    0% {
        transform: translateX(-50%) translateY(-50%) translateZ(0) scale(1);
        opacity: 1
    }
    100% {
        transform: translateX(-50%) translateY(-50%) translateZ(0) scale(1.5);
        opacity: 0
    }
}


.wf-slider-position-pulse-border  {
	position:absolute;
	z-index:30;
	bottom:17.0%;
	left:35.5%;
	font-size:0.8vw;
}

.wf-btn-pulse-border i {
	position:absolute;
	z-index:25;
	left:49%;
	top:51%;
    transform: translate(-50%, -50%) !important;
	
	color:#fff;
	font-size:1.5em;
	line-height:1.5em;
}



/* Scroll Button
---------------------------------- */

.wf-scrollBtn {
  position: absolute;
  bottom: 2.5%;
  left: 50%;
  transform: translate(-50%, 0);
  -webkit-transform: translate(-50%, 0);
  width: 100px;
  height: auto;
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 10px;
  z-index: 1;
  transition: all ease-in-out 0.35s;
  -webkit-transition: all ease-in-out 0.35s;
}
.wf-scrollBtn.move {
  visibility: hidden;
  opacity: 0;
}
.wf-scrollBtn span {
  width: 12px;
  height: 12px;
  display: block;
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  animation: animate 2s infinite;
  -webkit-animation: animate 2s infinite;
  margin: auto;
}
.wf-scrollBtn a {
  font-size: 16px;
  line-height: 1.5;
  font-weight: 400;
  text-align: center;
  text-transform: uppercase;
  -webkit-text-transform: uppercase;
  letter-spacing: 2px;
  display:inline-block;
  padding:0.75rem;
  color:#fff;
  text-shadow: 2px 2px 2px rgba(0,0,0,0.8);
}

.wf-scrollBtn a:hover {
  color:#e1ac3b;
}


@keyframes animate {
  0% {
    opacity: 0;
    transform: rotate(45deg) translate(-10px, -10px);
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: rotate(45deg) translate(10px, 10px);
  }
}
@-webkit-keyframes animate {
  0% {
    opacity: 0;
    transform: rotate(45deg) translate(-10px, -10px);
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: rotate(45deg) translate(10px, 10px);
  }
}


/*Images and Overlays
---------------------------------- */
.overlay-container {
  position: relative;
  display: block;
  text-align: center;
  overflow: hidden;
}

.overlay-link {
  position: absolute;
  z-index: 10;
  top: 0;
  padding: 15px;
  bottom: 0px;
  left: 0;
  right: 0px;
  background-color: rgba(30, 30, 30, 0.5);
  overflow: hidden;
  opacity: 0;
  filter: alpha(opacity=0);
  -webkit-transition: all ease-in-out 0.25s;
  -o-transition: all ease-in-out 0.25s;
  transition: all ease-in-out 0.25s;
  color: #ffffff;
}

.overlay-link i {
  -webkit-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  width: 80px;
  height: 80px;
  border: 1px solid #ffffff;
  -webkit-border-radius: 100%;
  -moz-border-radius: 100%;
  border-radius: 100%;
  color: #ffffff;
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -40px 0 0 -40px;
  font-size: 32px;
  line-height: 80px;
}

.overlay-link i:hover {
  background-color: #ffffff;
  color: #777777;
}

.overlay-link.small i {
  width: 25px;
  height: 25px;
  margin: -12.5px 0 0 -12.5px;
  font-size: 14px;
  line-height: 25px;
}

.overlay-container:hover .overlay-link {
  height: 100%;
  opacity: 1;
  filter: alpha(opacity=100);
  -webkit-backface-visibility: hidden;
  -webkit-transform: translateZ(0) scale(1, 1);
}


/* Columnize 
---------------------------------- */
.wf-columnize-2 {
	margin: 0 0 1.313em;

	-webkit-column-count: 2;
	   -moz-column-count: 2;
			column-count: 2;

	-webkit-column-gap: 3.0rem;
	   -moz-column-gap: 3.0rem;
			column-gap: 3.0rem;


	-webkit-column-rule: 0px  solid #9fb3a7;
	   -moz-column-rule: 0px  solid #9fb3a7;
			column-rule: 0px  solid #9fb3a7;
	column-rule: 0x dashed #9fb3a7;
}

.wf-columnize-3 {
	margin: 0 0 1.313em;

	-webkit-column-count: 3;
	   -moz-column-count: 3;
			column-count: 3;

	-webkit-column-gap: 3.5rem;
	   -moz-column-gap: 3.5rem;
			column-gap: 3.5rem;


	-webkit-column-rule: 1px  dashed #9fb3a7;
	   -moz-column-rule: 1px  dashed #9fb3a7;
			column-rule: 1px  dashed #9fb3a7;
			
}


@media only screen and (max-width: 992px) {
	.wf-columnize-2,
	.wf-columnize-3{

		-webkit-column-count: 1;
		   -moz-column-count: 1;
				column-count: 1;
	}
}






/*  Video responsive iframe
---------------------------------- */
.wf-video-responsiv-iframe-content {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 0;
    height: 0;
    overflow: hidden;
}

.wf-video-responsiv-iframe-content iframe,
.wf-video-responsiv-iframe-content object,
.wf-video-responsiv-iframe-content embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}




/* img-parallax.js
---------------------------------- */

.img-parallax {
  position: absolute;
  top: 0;
  left: 50%;
  pointer-events: none;
  transform: translate(-50%, 0%);
  -webkit-transform: translate(-50%, 0%);
  -moz-transform: translate(-50%, 0%);
  -ms-transform: translate(-50%, 0%);
  
  min-width: 100%;
  min-height: 100%;
  width: auto;	 
  height: auto;	
  object-fit:cover;

}


_:-ms-lang(x),
_:-webkit-full-screen,
.img-parallax {
		transition: all 300ms ease-out;			
}








/* wf-content-bg
---------------------------------- */


.wf-content-bg {
  display: block;
  position: relative;
  z-index: 10;
  width: 100%;
  height: auto;
  overflow: hidden;
}

.wf-content-item-bg {
  position: absolute;
  z-index: 1;
  left: -4%;
  top: -4%;
  width: 105%;
  height: 105%;
  max-width: 105%;
  max-height: 105%;
  object-fit: cover;
}

.wf-content-item-bg.sepia {
  filter: sepia(100%);
}

.wf-content-item-bg.grayscale {
  filter: grayscale(100%);
}


.wf-content-item-bg.blur {
  filter: blur(8px);
}



.wf-content-item-body {
  position: relative;
  z-index: 15;
}



.wf-content-bg::after {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0px;
  left: 0px;
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.6);
}

.wf-content-bg-footer {
  display: block;
  position: relative;
  z-index: 10;
  width: 100%;
  height: auto;
  overflow: hidden;
}

.wf-content-item-bg-footer {
  position: absolute;
  z-index: 1;
  left:0%;
  top:0%;
	min-width: 100%;
	min-height: 100%;
	width: auto;
	height: auto;
  object-fit: cover;
}


.wf-content-item-body-footer {
  position: relative;
  z-index: 15;
}


.content-item-body {
  position: relative;
  z-index: 15;
}



/* Language
---------------------------------- */

.wf-boxshwow-lang .wf-icon-bar {
  position:absolute;	
  top:140px;
  right:0;    
}

.wf-boxshwow-lang{
  position:relative;
  z-index: 555;
}

.wf-icon-bar a {
  width:45px;	
  display: block;
  text-align: center;
  padding: 8px;
  transition: all 0.3s ease;
  color:#fff;
  font-size: 16px;
  margin-bottom:2px;
  background-color:#8b384a;
}

.wf-icon-bar a:hover {
  background-color:#0d1329;
}


@media (max-width: 991px) {
	
.wf-boxshwow-lang{
	display:none;
}	

}



/* Icon footer Mobile
---------------------------------- */

.wf-xsfooterhg {
	width:100%;
	position:fixed;
	left:0;
	bottom:0;
	z-index:990;
}

.wf-xsfooter-hg-flex{
	display:-webkit-flex;display:-ms-flexbox;display:flex;
	-webkit-justify-content:center;-ms-justify-content:center;-ms-flex-pack:center;justify-content:center;
}

.wf-xsfooter-hg-flex .wf-btn-xsfooter{
	width:25%;
	text-align:center;	
}	

.wf-xsfooterhg{
	background:#8b384a;
	padding-bottom:0.15rem;
}

.wf-xsfooter-hg-flex .wf-btn-xsfooter span,
.wf-xsfooter-hg-flex .wf-btn-xsfooter a{
	padding:0.25em 0.25em;
	color:#fff;
	font-weight:bold;	
	font-size:30px;
	line-height:2px;
	display:block;
	position:relative;
	top:1px;
}

@media (min-width: 481px) {

.wf-xsfooterhg{
	display:none;
}

}


#mfp-video-model .mfp-close {
  width: 44px;
  height: 44px;
  line-height: 44px;
  position: absolute;
  z-index: 1001;
  right: 0;
  top: 0;
  text-decoration: none;
  text-align: center;
  opacity: 0.65;
  padding: 0 0 18px 10px;
  color: #FFF;
  font-style: normal;
  font-size: 28px;
  font-family: Arial, Baskerville, monospace;
  user-select: none; /* verhindert Markieren von Text */
  cursor: pointer;   /* zeigt Mauszeiger, nicht Textcursor */
 
 
}

#mfp-video-model .mfp-close:after {
	content:"";
	position: absolute;
	z-index:-1;
	width:30px;
	height:30px;
	right:3px;
	top:6px;
  background: rgba(0,0,0,0.5); 
  border-radius: 50%; 
  pointer-events: none; /* Verhindert Interaktionen mit dem Text */
  user-select: none; /* verhindert Markieren von Text */
  cursor: pointer;   /* zeigt Mauszeiger, nicht Textcursor */ 
}

