.ap-header { 
    position:relative;
}

.ap-container {
    width:100vw;
    height:100vh;
    height:100dvh;
    display:none;
}

.ap-container img {
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}

.ap-container.video {
    position:relative;
}

.ap-video {
	display:block;
	position:absolute;top:0;left:0;right:0;bottom:0;
	display:flex;
	align-items:center;
	overflow:hidden;
}

.ap-video video {
	width:100%;
	height:100%;
	object-fit:cover;
}

.ap-slogan-container {
    position:absolute;top:0;left:0;right:0;bottom:0;
    pointer-events:none;
    display:flex;
    justify-content:center;
    align-items:center;
}

.ap-slogan {
    text-align:center;
    color:#fff;
    text-shadow:0 0 8px #00000080;
}

@media screen and (orientation:landscape) {
    .ap-container.landscape { display:block; }
}

@media screen and (orientation:portrait) {
    .ap-container.portrait { display:block; }
}

/*** Animations ***/

.zoom-rl {
    animation-duration:30s;
    animation-iteration-count:infinite;
    animation-timing-function:ease-in-out;
    animation-name:zoom-rl;
    transform-origin:right bottom;
}

/*** Slogan animations ***/

.fadein .ap-slogan-title {
    font:42px/1em "Open Sans";
    opacity:0;
    animation:fade-in 4s ease-in-out forwards;
}

.fadein .ap-slogan-body {
    font:32px/1em "Open Sans";
    opacity:0;
    animation:fade-in 4s ease-in-out 2s forwards;
}

/*** Keyframes ***/

@keyframes zoom-rl {
    50% { scale:1.1; }
    100% { scale:1.0; }
}

@keyframes fade-in {
    100% { opacity:1; }
}