@tailwind base;
@tailwind components;
@tailwind utilities;

html {
	scroll-behavior: smooth;
}

@font-face {
	font-family: "Retro";
	src: url("/fonts/RetroSignatureRegular.woff2") format("woff2");
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

.font-retro {
	font-family: "Retro", sans-serif;
}

@layer components {
	.prose {
		@apply text-primary-200;
	}

	.prose h1,
	.prose h2,
	.prose h3,
	.prose h4,
	.prose h5,
	.prose h6 {
		@apply text-white;
	}

	.prose a {
		@apply text-primary-300 hover:text-primary-200;
	}
}

@layer utilities {
	@keyframes bg-gradient-move {
		0% {
			background-position: 0% 50%;
		}
		50% {
			background-position: 100% 50%;
		}
		100% {
			background-position: 0% 50%;
		}
	}

	.bg-animated-primary {
		background-image: linear-gradient(
			-45deg,
			theme("colors.primary.800"),
			theme("colors.primary.700"),
			theme("colors.primary.600")
		);
		background-size: 400% 400%;
		animation: bg-gradient-move 15s ease infinite;
	}

	.font-retro {
		font-family: "Retro", system-ui, sans-serif;
	}
}

/* Custom styles can be added below */

/* Scroll Indicator Animation */
@keyframes scrollAnim {
	0% {
		transform: translate(-50%, 0) rotateX(0);
		opacity: 0;
	}
	5% {
		opacity: 0.5;
	}
	15% {
		opacity: 1;
	}
	90%,
	100% {
		opacity: 0;
	}
	100% {
		transform: translate(-50%, 30px) rotateX(30deg);
	}
}

.scroll-indicator {
	width: 40px;
	height: 60px;
	border: 2px solid rgba(178, 250, 255, 0.781);
	border-radius: 50px;
	position: relative;
	box-shadow: 0px 0px 35px -5px rgba(109, 245, 222, 0.781);
}

.scroll-indicator::before {
	content: "";
	position: absolute;
	top: 0.5em;
	left: 50%;
	width: 10px;
	height: 10px;
	background-color: rgba(203, 248, 251, 0.781);
	border-radius: 50%;
	transform: translate(-50%, 0);
	animation: scrollAnim 1.8s 0.5s infinite ease-in;
	box-shadow: 0px 0px 35px -5px rgba(70, 255, 224, 0.781);
}

/* Embed Container Styles */
.embed-container {
	max-width: 100%;
	height: 0;
	padding-bottom: 56.25%;
	position: relative;
	overflow: hidden;
}

.embed-container iframe,
.embed-container object,
.embed-container embed {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

/* AWARDS */

.timeline_item {
	z-index: 2;
	grid-column-gap: 0px;
	grid-row-gap: 0px;
	grid-template-rows: auto;
	grid-template-columns: 1fr 180px 1fr;
	grid-auto-columns: 1fr;
	padding-top: 80px;
	padding-bottom: 80px;
	display: grid;
	position: relative;
}

.timeline_left {
	text-align: right;
	justify-content: flex-end;
	align-items: stretch;
}

.timeline_centre {
	justify-content: center;
	display: flex;
}

.timeline_date-text {
	letter-spacing: -0.03em;
	font-size: 48px;
	font-weight: 500;
	line-height: 1.2;
	position: sticky;
	top: 50vh;
}

.timeline_text {
	color: #fff;
	font-size: 36px;
	font-weight: 500;
	line-height: 1.3;
}

.timeline_circle {
	background-color: #fff;
	border-radius: 100%;
	width: 15px;
	min-width: 15px;
	max-width: 15px;
	height: 15px;
	min-height: 15px;
	max-height: 15px;
	position: sticky;
	top: 50vh;
	box-shadow: 0 0 0 8px #1a2b3d;
}

.timeline_progress {
	z-index: -2;
	background-color: #c3b79f;
	width: 3px;
	height: 100%;
	position: absolute;
}

.timeline_progress-bar {
	z-index: -1;
	background: #a08c6a;
	background: -webkit-linear-gradient(to bottom, #a08c6a, #8c7a5a);
	background: linear-gradient(to bottom, #a08c6a, #8c7a5a);

	width: 3px;
	height: 50vh;
	position: fixed;
	inset: 0 auto 50vh;
}

.overlay-fade-top {
	background-image: linear-gradient(#1a2b3d, #1a2b3d00);
	height: 80px;
	position: absolute;
	inset: 0% 0% auto;
}

.overlay-fade-bottom {
	background-image: linear-gradient(to top, #1a2b3d, #1a2b3d00);
	height: 80px;
	position: absolute;
	inset: auto 0% 0%;
}

@media screen and (max-width: 767px) {
	.timeline_item {
		grid-template-columns: 64px 1fr;
		width: 100%;
	}

	.timeline_left {
		text-align: left;
		grid-area: 1 / 2 / 2 / 3;
	}

	.timeline_centre {
		justify-content: flex-start;
		grid-area: 1 / 1 / 3 / 2;
	}

	.timeline_right {
		grid-area: span 1 / span 1 / span 1 / span 1;
	}

	.timeline_date-text {
		margin-bottom: 24px;
		font-size: 36px;
	}

	.timeline_text {
		font-size: 20px;
	}

	.timeline_progress {
		left: 6px;
	}
}
