@import 'common.css';

:root {
	--home-page-margin: 80px;
	--anim-duration: 2.5s;
	--anim-initial-delay: 1s;
}

/* MARK: - INTRO */

body.home > .intro-overlay {
	display: flex;
	align-items: center;
	justify-content: center;
	position: fixed;
	top: 0;
	left: 0;
	height: 100vh;
	width: 100vw;
	z-index: 1000;
	animation: fadeOutAfter70pc 2.2s forwards;
	background: black;
}

body.home > .intro-overlay > .animation {
	width: 750px;
	height: 750px;
}

@keyframes fadeOutAfter70pc {
	70% { opacity: 1; }
	100% { opacity: 0; display: none; }
}

body.home > main > .blurred-overlay {
	position: fixed;
	top: 0;
	left: 0;
	height: 100vh;
	width: 100vw;
	animation: fadeOutAfter70pc 2.2s forwards;
	backdrop-filter: blur(50px);
}


/* MARK: - HOME PAGE */

body.home > main {
	display: flex;
	width: 100%;
	min-height: 100%;
}

body.home > main > .left {
	flex: 1 1 0;
	display: flex;
	flex-flow: column;
	justify-content: space-between;
	margin: var(--home-page-margin);
	margin-right: 0;
}

body.home > main > .left > .logo-and-soon {
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: 8px;
	margin-right: auto;
}

body.home > main > .left > .main {
	display: flex;
	flex-flow: column;
	gap: 24px;
}

body.home > main > .left > .main > .title {
	font-size: 56px;
	font-weight: 700;
}

body.home > main > .left > .main > .subtitle {
	font-size: 30px;
	font-weight: 400;
	opacity: 0.6;
}

body.home footer.mobile {
	display: none;
}

body.home footer > div {
	opacity: 0.6;
}

body.home footer > div > a {
	color: var(--almond);
	text-decoration: none;
}

body.home > main > .right {
	position: relative;
	flex: 1 1 0;
	min-height: 700px;
	min-width: 480px;
}

body.home > main > .right > div {
	position: absolute;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	opacity: 0;
	animation: calc(5 * var(--anim-duration)) ease-in-out infinite ipAnim;
}


/* MARK: - IMAGE SHOW */

#ip1 {
	background-image: url(static/ip1.png);
	animation-delay: var(--anim-initial-delay);
}

#ip2 {
	background-image: url(static/ip2.png);
	animation-delay: calc(var(--anim-duration) + var(--anim-initial-delay));
}

#ip3 {
	background-image: url(static/ip3.png);
	animation-delay: calc(var(--anim-duration) * 2 + var(--anim-initial-delay));
}

#ip4 {
	background-image: url(static/ip4.png);
	animation-delay: calc(var(--anim-duration) * 3 + var(--anim-initial-delay));
}

#ip5 {
	background-image: url(static/ip5.png);
	animation-delay: calc(var(--anim-duration) * 4 + var(--anim-initial-delay));
}

@keyframes ipAnim {
	0% { opacity: 0; } 4% { opacity: 1; } 20% { opacity: 1; } 24% { opacity: 0; }
}


/* MARK: - EMAIL SUBMISSION FORM */

#submitEmailForm > .input-box {
	display: inline-flex;
	height: 40px;
	position: relative;
	padding: 6px 6px 6px 16px;
	background-color: var(--input-bg);
	border-radius: 18px;
	border: 1px solid rgba(255, 251, 224, 0.15);
}

#submitEmailForm > .input-box > .input-overlay {
	display: inline-flex;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s, visibility 0.3s;
	align-items: center;
	justify-content: center;
	gap: 4px;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 18px;
	background-color: #252525;
	box-shadow: inset 0 0 10px #FFFBE010;
}

#submitEmailForm > .input-box > input {
	width: 248px;
	background: none;
	border: none;
	padding: 0;
	font-size: 16px;
	color: var(--almond);
	caret-color: var(--almond);
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
	-webkit-box-shadow: 0 0 0 60px var(--input-bg) inset !important;
	-webkit-text-fill-color: var(--almond) !important;
}

#submitEmailForm > .input-box > input:focus {
	outline: none;
}

#submitEmailForm > .input-box > input::placeholder {
	color: var(--almond);
	opacity: 0.6;
}

#submitEmailForm > .input-box > button {
	font-size: 16px;
	font-weight: 600;
	white-space: preserve nowrap;
	padding: 0 24px;
	border-radius: 12px;
	border: 1px solid #FFF;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.00) 0%, rgba(0, 0, 0, 0.10) 100%), #FFFBE0;
}


/* MARK: - MOBILE */

@media only screen and (max-width: 768px) {
	body.home {
		overflow-y: clip;
	}

	body.home > main {
		flex-flow: column;
	}

	body.home > main > .left {
		margin: 32px;
		gap: 32px;
	}

	body.home > main > .left > .logo-and-soon {
		flex-flow: row;
		justify-content: space-between;
		margin-right: 0;
	}

	body.home > main > .left > .logo-and-soon > .logo {
		width: 104px;
		height: 65px;
	}

	body.home > main > .left > .main {
		align-items: center;
		gap: 12px;
	}

	body.home > main > .left > .main > .title {
		font-size: 42px;
		text-align: center;
	}

	body.home > main > .left > .main > .subtitle {
		font-size: 24px;
		text-align: center;
	}

	body.home footer.desktop {
		display: none;
	}

	body.home footer.mobile {
		display: flex;
		position: absolute;
		text-align: center;
		line-height: 1.3em;
		bottom: 0;
		width: 100%;
		height: 108px;
		background: linear-gradient(#00000000, #000);
	}

	body.home footer.mobile > div {
		font-size: 13px;
		margin: auto;
	}

	body.home > main > .right {
		flex: 2 2 0;
	}

	body.home > main > .right > div {
		background-position: calc(50% - 16px) -50px;
		background-size: 480px 682px;
	}

	#submitEmailForm > .input-box > input {
		width: auto;
	}

	#submitEmailForm > .input-box > button {
		padding: 0 12px;
	}
}

/* Mobile below 480px */
@media only screen and (max-width: 480px) {

	body.home > main > .left {
		margin: 22px;
		gap: 32px;
	}

	body.home > main > .left > .logo-and-soon > .logo {
		width: 80px;
		height: 50px;
	}

	body.home > main > .left > .main > .title {
		font-size: 28px;
	}

	body.home > main > .left > .main > .subtitle {
		font-size: 16px;
	}

	body.home footer.mobile {
		height: 80px;
	}

	body.home > main > .right {
		min-width: 320px;
		min-height: 240px;
	}

	body.home > main > .right > div {
		background-position: calc(50% - 16px) -50px;
	}
}

@media only screen and (max-width: 375px) {
	body.home > main > .right > div {
		background-size: 360px 512px;
	}

	body.home > main > .right > div {
		background-position: calc(50% - 16px) -30px;
	}

	#submitEmailForm > .input-box {
		height: 36px;
		padding: 4px 4px 4px 12px;
		border-radius: 14px;
		border: 1px solid rgba(255, 251, 224, 0.15);
	}

	#submitEmailForm > .input-box > input {
		font-size: 13px;
	}

	#submitEmailForm > .input-box > button {
		font-size: 13px;
		border-radius: 10px;
	}
}

/* Desktop above 1280px */
@media only screen and (min-width: 1280px) {
	body.home > main {
		width: 1280px;
		margin: auto;
	}
}
