@charset "utf-8";
/* Main parallax container */
.parallax-container {
    	position: relative;
    	width: 100vw;
    	height: 100vh;
}
/* Shared parallax item styles */
.parallax-item {
    	position: absolute;
    	top: 50%;
    	left: 50%;
    	width: 110vw;
		transform: translateX(-50%);
	    transform: translateY(-50%);
    	height: 110vh;
		/*aspect-ratio: 16/9;*/
    	background-size: cover;
    	background-position: center;
		background-repeat: no-repeat;
    	transition: transform 0.1s ease-out;
}
/*
Layer notes:
	Seven child layers in order: background / fallback / shadow / main / fallback / fallback / upper elements.
	The second layer is currently used for particle animation and moves opposite the mouse direction.
	The sixth layer sits below the fourth layer so the character art stands out.

	Important: all element sizes are calculated as percentages of the viewport width.
*/
.parallax-item:nth-child(1) {
    	background-image: none;
		background-blend-mode: luminosity;
		width: 105%;
		height: 105%;
    	transform: translate(calc(var(--relative-x) * -2.5% - 50%), calc(var(--relative-y) * -2.5% - 50%));
}
 .parallax-item:nth-child(2) {
    	background-image: none;
    	transform: translate(calc(var(--relative-x) * -1% - 50%), calc(var(--relative-y) * -1% - 50%));
}
 .parallax-item:nth-child(3) {
    	background-image: none;
    	transform: translate(calc(var(--relative-x) * 1.5% - 50%), calc(var(--relative-y) * 1.5% - 50%));
}
.parallax-item:nth-child(4) {
		/*backdrop-filter: blur(15px);
		-webkit-backdrop-filter: blur(15px);*/
		background-color: rgba('0,0,0,0.8');
    	transform: translate(calc(var(--relative-x) * 0.5% - 50%), calc(var(--relative-y) * 0.5% - 50%));
}

/* Shared upper element container with blur filter */
.general-upper-container{
	position: absolute;
	backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
	display: flex;
	flex-direction: row;
	align-content: center;
	align-items: center;
	justify-content: center;
}

/* Section transition frame */
.section {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 2em;
            transition: clip-path 0.75s ease-in-out;
			aspect-ratio: 16/9;
			color: #eee;
        }

        #section1 {
			display: flex;
            background-image: none;
            background-size: cover;
            background-position: left;
			clip-path: inset(0 0 0 0);
        }

        #section2 {
			display: flex;
            background-image: none;
            background-size: cover;
            background-position: left;
            /*clip-path: inset(0 100% 0 0);*/
            clip-path: inset(100% 0 0 0);
        }

        #section3 {
			display: none;
            background-image: none;
            background-size: cover;
            background-position: left;
            /*clip-path: inset(0 100% 0 0);*/
            clip-path: inset(100% 0 0 0);
        }

		#section4 {
			display: none;
            background-image: none;
            background-size: cover;
            background-position: left;
            /*clip-path: inset(0 100% 0 0);*/
            clip-path: inset(100% 0 0 0);
        }

        #section5 {
			display: none;
            background-image: none;
            background-size: cover;
            background-position: left;
            /*clip-path: inset(0 100% 0 0);*/
            clip-path: inset(100% 0 0 0);
        }

#frameBarLeft{
	position: fixed;
	height: 1px;
	width: 100vw;
	left: 0px;
	bottom: -2px;
	transition: 0.75s ease-in-out;
	z-index: 1000000;
	background-color: #eee;
}

#frameBarRight{
	position: fixed;
	height: 1px;
	width: 100vw;
	left: 0px;
	top: -2px;
	transition: 0.75s ease-in-out;
	z-index: 1000000;
	background-color: #eee;
}

#mainTitleContainer{
	position: absolute;
	top: 50vh;
	left: 50vw;
	transform: translate(-150%,-65%);
	height: 17vh;
	width: auto;
	color: rgba(255,255,255,1);
}

#subTitleContainer{
	position: absolute;
	top: 82.5vh;
	left: 12vh;
	height: 6vh;
	width: auto;
	color: rgba(255,255,255,1);
}

#logoContainer{
	position:absolute;
	top: 50vh;
	left: 50vw;
	transform: translate(-340%,-55%);
	height: 17vh;
	width: 17vh;
	align-content: center;
	font-size: 3vh;
	opacity: 0;
	transition: 0.5s ease;
	background-image: url(images/foa-logo.png);
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
}
/* Opening particle animation */
#scifi-canvas{
	opacity: 0.8;
	position: fixed;
	width: 103vw;
	height: 105vh;
	top: 0%;
	left: 0%;
}

#homeMenuContainer{
	position: absolute;
	top: 50vh;
	left: 50vw;
	transform: translate(-15%,-60%);
	display: flex;
	flex-direction: row;
	justify-content: space-around;
	align-content: center;
	align-items: center;
	height: 12vh;
	width: 45vw;
	transition: 0.5s ease-out;
	opacity: 0;
	transition-delay: 0.25s;
}

.homeMenuOption{
	height: 12vh;
	width: 20vw;
	align-content: center;
	align-items: center;
	color: #ddd;
	text-align: center;
	font-size: 3.7vh;
}
.homeMenuOption a{
	font-size: 2.5vh;
	color: #999;
	text-decoration: none;
	cursor: pointer;
	transition: 0.2s ease;
}.homeMenuOption a:hover{
	font-size: 3.2vh;
	color: #fff;
	text-decoration: none;
	cursor: pointer;
}
.homeMenuOptionSpliter{
	height: 10vh;
	width: 1px;
	border-left: 1px solid #fff;
	border-right: 1px solid #fff;
}


/* Scroll indicator animation */
@keyframes blink {
            0% {
                opacity: 0;
				transform: translate(-50%,0%);
            }
			10%{
				opacity: 1;
				transform: translate(-50%,5%);
			}
            50% {
                opacity: 0.75;
            }
            100% {
                opacity: 0;
				transform: translate(-50%,75%);
            }
        }

.navConplexExpand{
	display: block;
	position: relative;
	left: 0%;
	height: 13vh;
	width: auto;
	margin-bottom: 7vh;
	background-size: cover;
	background-position: center;
	align-content: center;
	transition: 0.5s ease-in-out;
}
.navConplexCollapse{
	display: block;
	position: relative;
	height: 5vh;
	width: auto;
	margin-bottom: 5vh;
	background-image: none;
	transition: 0.5s ease-in-out;
}

.navConplexExpand img{
	display: block;
	position:absolute;
	top: 0%;
	right: 0%;
	height: 120%;
	width: auto;
	/*transform: translateX(-50%);*/
	opacity: 1;
}

.navConplexCollapse img{
	opacity: 0;
	display: none;
}

.navBtn{
	position: absolute;
	left: 0%;
	bottom: 0%;
	height: 5vh;
	width: 27vh;
	font-size: 4vh;
	color: #aaa;
	margin: 3px;
	background-color: rgba(0,0,0,0);
	cursor: pointer;
	transition: 0.2s ease-in-out;
	margin-right: 3vw;
}
.navBtn:hover{
	color: black;
	background-color: rgba(225,225,225,1);
	
}
.navBtn:active{
	color: azure;
	background-color: rgba(25,25,25,1);
}
		
.navBtnIndicate{
	font-size: 5.5vh;
	color: #FFF;
	/*background-color:#222;*/
	transition: 0.5s ease;
}
.navBtnIndicate:hover{
	color: white;
	background-color: #36d;
}

.mainNav{
	display:flex;
	flex-direction: column;
	align-items: left;
	align-content: left;
	justify-content: flex-start;
	position: fixed;
	top: 0vh;
	right: 0vh;
	width: 24vh;
	height: 100vh;
	z-index: 114514;
	transition: 0.5s ease;
	border-left: 1px solid #ddd;
	background-color: rgba(0,0,0,0.6);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}
/*
		#mainNav:hover{
			backdrop-filter: blur(10px);
			background-color: rgba(255,255,255,0.1);
		}
		*/
.mainNavHidden{
	transition: 0.5s ease-in-out;
	right: -30vh;
}

.navPlaceholder{
	height: 5vh;
}

#scrollNotice{
	display: block;
	position: fixed;
	left: 50vw;
	transform: translate(-50%,0%);
	bottom: 7vh;
	width: 8.5vh;
	height: auto;
	aspect-ratio: 1;
	opacity: 0;
	transition-timing-function: ease-in-out;
	background-image: url('images/scrollIndicator.webp');
	background-size: cover;
	background-position: center;
	animation: blink 2s infinite;
}

#currentEvLayer{
	display:none;
	height: 100vh;
	width: 0.1vh;
	overflow-y: auto;
	position: fixed;
	left: 50vw;
	top: 0%;
	transform: translate(-50%,0);
	background-color: rgba(0,0,0,1);
	opacity: 0;
	border-left: 1px #fff solid;
	border-right: 1px #fff solid;
	transition: 0.75s ease-in-out;
}

.eventContent{
	width: min(42vw, 760px);
	margin: 16vh auto 8vh;
	color: #ddd;
	font-size: 2.4vh;
	line-height: 1.45;
}

.eventContent h2{
	margin: 0 0 3vh;
	color: #fff;
	font-size: 3.4vh;
}

.eventContent a{
	color: #acf;
	word-break: break-word;
}

#mailSignUpContainer{
	position: fixed;
	left: 50vw;
	top: 50vh;
	transform: translate(-50%,-50%);
	display: none;
	opacity: 0;
	width: 80vh;
	height: 25vh;
	background-color: rgba(0,0,0,1);
	border: 1px #fff solid;
	transition: 0.5s ease;
}

#MSCInput{
	position:absolute;
	border-radius: none;
	border: 1px #fff solid;
	background-color: rgba(0,0,0,0);
	width: 75%;
	height: 7vh;
	left: 50%;
	transform: translate(-50%,0%);
	top: 9vh;
}
