.mainstage {
	height: 100%;
	position: relative;
}

.section {
	background-color: #fff;
	color: inherit;
	position: relative;
	padding: 0;
}

.section-dark {
	background-color: #FF6A01;
	color: #fff;
}

.section-background {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 0;
}
.section-background-video {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	height: 100%;
	width: 100%;
	overflow: hidden;
}
.section-background-video > video {
	opacity: 0.1;
	width: 100%;
	height: 100%;
}
.section-background-dot-overlay:after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	height: 100%;
	width: 100%;
	background-image: url('/media2/backs/4x4_bold_t65.png');
}
.section > .seccontainer {
	position: relative;
}

.hero-section {
	padding: 20px 0;
	text-align: center;
}
.hero-section:before {
	content: "";
	display: inline-block;
	height: 100%;
	width: 1px;
	vertical-align: middle;
}
.hero-section:after {
	content: "";
	position: absolute;
	top: 0;
	z-index: 0;
	height: 160px;
	width: 100%;
	display: block;
	background-image: -webkit-linear-gradient(top, rgba(0,0,0,1), rgba(0,0,0,0));
	background-image: linear-gradient(to bottom, rgba(0,0,0,1), rgba(0,0,0,0));
	opacity: 0.3;
}
.hero-section.hero-fullscreen {
	height: 100%;
}
.hero-section .seccontainer {
	position: relative;
	z-index: 1;
	vertical-align: middle;
	display: inline-block;
}
.hero-title {
	font-family: "Montserrat", sans-serif;
	font-weight: bold;
	letter-spacing: 0.05em;
	margin-bottom: 10px;
}
.hero-tagline {
	font-size: 20px;
}

@media ( max-width: 991px ) {
	.hero-section.hero-fullscreen {
		height: auto;
	}
}

.welcome_canvas {
	margin-top: 40px;
}

.welcome_text {
	padding: 5px 20px;
	margin: 0 5%;
	font-style: italic;
	font-size: 1.2em;
	margin-bottom: 2px;
}

.welcome_mainbody {
	background-color: rgba(255, 255, 255, 0.95);
	color: black;
	margin: 2% 10%;
	padding: 15px 10px 15px 10px;
	border-radius: 3px;
	box-shadow: 0px 18px 46px rgba(0, 0, 0, 0.33);
	border: 1px solid rgba(0, 0, 0, 0.03);
	min-height: 190px;
}
@media only screen and (max-width: 991px) {
	.welcome_mainbody {
		margin: 2% 2%;
	}
}

.welcome_footertext {
	font-size: 2em;
	margin: 20px 0 20px;
	text-shadow: 0px 2px 2px rgba(0, 0, 0, 0.67);
}

.pjbcarousel1 {
	margin: 0px auto;
	width: 800px;
	max-width: 100%;
	height: 100px;
	position: relative;
	perspective: 1100px;
}
.pjbcarousel1-3d {
	width: 100%;
	height: 100%;
	position: absolute;
	transform-style: preserve-3d;
	animation: spin 15s infinite linear;
}
.pjbcarousel1-3d figure {
	margin: 0;
	position: absolute;
	width: 500px;
	height: 110px;
	left: 50%; /* Adjust accordingly */
	top: 50%; /* Adjust accordingly */
	backface-visibility: visible;
	transform-origin: 40% 0%;
}
@keyframes spin {
	from { 
		transform: rotateY(360deg); 
	}
	to { 
		transform: rotateY(0deg); 
	}
}
.pjbcarousel1img {
	border: 5px solid white;
	border-radius: 100px;
}

@keyframes rotate {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}

@keyframes fadeInCoverSpecial {
  from {
    opacity: 0;
    transform: scaleX(0) rotate(-360deg);
    border-radius: 300px;
  }
  to {
    opacity: 1;
    transform: scaleX(1) rotate(0deg);
    border-radius: 10px;
  }
}

@keyframes fadeOutCoverSpecial {
  from {
    opacity: 1;
    transform: scaleX(1) rotate(0deg);
    border-radius: 10px;
  }
  to {
    opacity: 0;
    transform: scaleX(0) rotate(-360deg);
    border-radius: 300px;
  }
}

.sticky-div {
	position: -webkit-sticky; /* Für Safari */
	position: sticky;
	top: 0; /* Definiert den Abstand vom oberen Rand, bei dem das Element kleben bleibt */
	background-color: yellow; /* Hintergrundfarbe, um den Effekt sichtbar zu machen */
	padding: 50px; /* Etwas Innenabstand */
	font-size: 20px; /* Größere Schrift zum besseren Lesen */
}
    
.fixeddivbg { 
	height: 100%; 
	background-position: center;
	/*background-size: contain;*/
	background-size: cover;
	background-attachment: fixed;
	background-repeat: no-repeat;
}
