
/* beam */

.beamInButton {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 22vh;
	height: auto;
	z-index: 26;
	transform:translate(0,0);
	transition: transform 0.5s ease;
}

body.mobile .beamInButton.off:not(.active) {
	transition-delay:0.3s;
	transform: translate(0,170px);
}

.beamInButton svg {
	display:block;
	overflow:visible;
	width: 100%;
}

.beamInButton:not(.off) #Text {
	transform-origin: 65%;
	animation: pulsate 2s infinite;
}

.beamInButton.active #Text {
	opacity: 0;
	transition: opacity 0.4s ease;
}

.landerPic {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 58%;
	display:block;
}


.beamInFlash {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	z-index: 26;
	pointer-events:none;
	background-repeat: no-repeat;
	background-color:rgba(0,255,255,1);
	overflow:hidden;
	transition: clip-path 1s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.4s ease;
	-webkit-clip-path: polygon(-20vh 0, 100vw 0, 150vw 130vh, 11vh 89.5vh);
	clip-path: polygon(-20vh 0, 100vw 0, 150vw 130vh, 11vh 89.5vh);
}

.beamInFlash.off {
	opacity: 0;
	background-size: 80vh;
	-webkit-clip-path: polygon(90vh 0, 100vw 0, 90vw 0, 11vh 89.5vh);
	clip-path: polygon(90vh 0, 100vw 0, 90vw 0, 11vh 89.5vh);
}

.beamInFlash:not(.off) {
	animation: beamFlash 1.5s ease-out forwards;
	background-image: url(../img/beamverlauf400.png);
	background-position: bottom left;
	background-size: 60vh;
}

.beamVideoContainer {
	position: fixed;
	top:0;
	left:0;
	width: 100%;
	height: 100vh;
	z-index: 21;
	background-color: black;
	opacity: 0;
	transition: opacity 0.4s ease;
	transition-delay: 0s;
	pointer-events:none;
}

.beamVideoContainer.active {
	opacity: 1;
	pointer-events: auto;
	transition-delay: 0.1s;
}



/* admin beam-page */

.beamArea {
	width: 80%;
	padding-top: 0;
}

.beamfilms {
	display:flex;
	flex-wrap: wrap;
}

.beamfilm {
	width: calc(50% - 2em);
	margin-bottom: 1em;
	margin-right: 1em;
	background-color: #333;
	padding: 1em;
	vertical-align: top;
}


/* beam slides */

.beamVideoContainer {
	display: flex;
  align-items: center;
  justify-content: center;
	padding-top: 45px;
}

.beamVideoContainer .swiper-container {
	width: 100%;
	opacity: 1;
	transition: opacity 0.5s ease;
}

.beamVideoContainer .swiper-container.faded {
	opacity: 0;
}

.beamSlide {
	max-width: 77%;
}

.beamSlide .iframeContainer {
	background-color: #413D3A;
}

.slideDetails {
	font-size: 0.75em;
	margin-top: 0.5em;
}

.slideDetails .leftCol,
.slideDetails .rightCol {
	display:inline-block;
	vertical-align:top;
	width: 50%;
}

.slideDetails .leftCol {
	width: 40%;
}

.slideDetails .rightCol {
	width: 60%;
	text-align: right;
}
.slideDetails .rightCol p {
	margin-bottom: 0;
}


.swiper-button-prev:after, .swiper-container-rtl .swiper-button-next:after,
.swiper-button-next:after, .swiper-container-rtl .swiper-button-prev:after {
	content: '';
}

.swiper-button-prev,
.swiper-button-next {
	width: 10%;
	height: 100%;
	background-repeat:no-repeat;
	background-size: 11px;
	top: 0;
	margin-top: 0;
}
.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
	opacity: 0;
}

.swiper-button-prev {
	background-image: url(../img/pfeil_links_weiss.svg);
	background-position: center right;
	left: 0;
	box-shadow: 4vw 0 3vw -2vw rgba(0,0,0,1) inset;
}

.swiper-button-next {
	background-image: url(../img/pfeil_rechts_weiss.svg);
	background-position: center left;
	right: 0;
	box-shadow: -4vw 0 3vw -2vw rgba(0,0,0,1) inset;
}

.closeBeamInButton.off {
	transform: translate(25vw,0);
	transition-delay:0s;
}

.closeBeamInButton {
	position: fixed;
	z-index: 48;
	top: 44px;
	right: 0;
	width: 80px;
	height: 80px;
	background-image: url(../img/beamverlauf_closer.png);
	background-position: top right;
	background-size: 170%;
	transform: translate(0,0);
	transition: transform 0.5s ease;
	transition-delay: 0.8s;
	background-color: transparent;
}

.closeBeamInButton>div {
	position: absolute;
	top: 0;
	right: 0;
	width: 70%;
	height: 70%;
	background-image: url(../img/closeButton_weiss.svg);
	background-repeat:no-repeat;
	background-size: 40%;
	background-position: center;
	cursor:pointer;
}



/* mobile landscape only */
@media screen and (orientation:landscape)
and (min-width: 450px) 
and (max-width: 950px) {
	
	.beamVideoContainer .swiper-container {
		width: 70%;
		margin-left: auto;
	}
	.swiper-button-prev,
	.swiper-button-next {
		width: 10.4%;
	}
}



/* desktop */
@media only screen and (min-width: 950px) {
	.beamInButton {
		z-index: 14;
		width: 18vh;
	}
	
	.beamInFlash {
		z-index: 26;
		-webkit-clip-path: polygon(-20vh 0, 100vw 0, 150vw 130vh, 9vh 91.4vh);
		clip-path: polygon(-20vh 0, 100vw 0, 150vw 130vh, 9vh 91.4vh);
	}

	.beamInFlash.off {
		-webkit-clip-path: polygon(90vw 0, 100vw 0, 90vw 0, 9vh 91.4vh);
		clip-path: polygon(90vw 0, 100vw 0, 90vw 0, 9vh 91.4vh);
	}
	
	.beamInFlash:not(.off) {
		background-size: 45vh;
	}
	
	.beamVideoContainer {
		z-index: 13;
		padding-top: 0;
	}
	
	.swiper-button-prev,
	.swiper-button-next {
		width: 10.8%;
	}
	
	.beamVideoContainer .swiper-container {
		width: 80%;
		margin-left: 0;
	}
	
	.beamSlide {
		max-width: 70%;
	}
	.slideDetails {
		font-size: 1em;
	}

	.closeBeamInButton.off {
		transform: translate(0,0);
		opacity: 0;
		
	}
	
	.closeBeamInButton {
		width: 45px;
		height: 45px;
		left: calc(80% - 45px);
		top: auto;
		background-image: none;
		opacity: 1;
		transform: translate(0,0);
		transition: opacity 0.5s ease;
		transition-delay: 1s;
	}
	
	.closeBeamInButton>div {
		width: 100%;
		height: 100%;
		background-size: 100%;
	}
	
	.swiper-button-prev {
		background-position-x: 80%;
		box-shadow: 6vw 0 3vw -2vw rgba(0,0,0,1) inset;
	}
	.swiper-button-next {
		background-position-x: 20%;
		box-shadow: -6vw 0 3vw -2vw rgba(0,0,0,1) inset;
	}
	
	.swiper-button-prev,
	.swiper-button-next {
		background-size: 24px;
		width: 11%;
	}
}


/* anims */


@keyframes beamFlash {
	0%{
		background-color:rgba(0,255,255,1);
	}
	30%{
		background-color:rgba(0,255,255,1);
	}
	100%{
		background-color:rgba(0,0,0,0);
	}
}


@keyframes pulsate {
	0% {
		transform: scale( 1 );
	}
	20% {
		transform: scale( 1.12 );
	}
	40% {
		transform: scale( 1 );
  }
	60% {
		transform: scale( 1.12 );
  }
	80% {
		transform: scale( 1 );
	}
	100% {
		transform: scale( 1 );
	}
}