/* Global Styles */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	scroll-behavior: smooth;
	--foreground-colour: #CDF514;
}

/*///////////////////////////////////////////////////////////////////////////////////////////////// Styling for text */
a {
	text-decoration: none;
	cursor: default;
}

body {
	background-color: #1C1C1C;
	margin: 0;
	padding: 0;
	font-family: 'Sen', sans-serif;
}

h1 {
	font-size: 100px;
	font-weight: 400;
	font-family: 'Sen', sans-serif;
	margin: 0%;
}

h2 {
	font-size: 35px;
	font-weight: 400;
	font-family: 'Sen', sans-serif;
	margin-bottom: 10px;
}

.large-body-text {
	font-size: 24px;
	font-weight: 400;
	font-family: 'Sen', sans-serif;
	margin: 10px 0;
}

body, p {
	font-size: 16px;
	font-weight: 400;
	font-family: 'Sen', sans-serif;
}

a {
	text-decoration: none;
	cursor: default;
}

body {
	background-color: #1C1C1C;
	color: #D9D9D9;
	font-family: 'Sen', sans-serif;
	margin: 0;
	padding: 0;
	overflow-x: hidden;
}

.aos-from-right {
	opacity: 0;
	filter: blur(5px);
	transform: translateX(100%);
	transition: all 2s var(--ease);
}

.aos-from-bottom {
	opacity: 0;
	filter: blur(10px);
	transform: translateY(100%);
	transition: all 2s var(--ease) !important;
}

.aos-from-bottom:nth-child(2) {
	transition-delay: 0.3s !important;
}

.aos-from-bottom:nth-child(3) {
	transition-delay: 0.6s !important;
}

.aos-from-left {
	opacity: 0;
	filter: blur(10px);
	transform: translateX(-100%);
	transition: all 2s var(--ease);
}

.in-view {
	opacity: 1;
	filter: none;
	transform: none;
}

/*//////////////////////////////////////////////////////////////* Navbar */
.navbar {
	display: flex;
	justify-content: space-between;
	padding: 10px;
	width: 100%;
	background-color: #1C1C1C;
	position: fixed;
	top: 0%;
	z-index: 10;
}

.navbar ul {
	list-style-type: none;
	display: flex;
}

.navbar li {
	margin-right: 40px;
}

.navbar a {
	color: #D9D9D9;
	text-decoration: none;
}

/*//////////////////////////////////////////////////////////////////////////////* Introduction Section */

.project-hero {
	text-align: justify;
	margin-top: 150px;
	margin-bottom: 200px;
}

.hero-container {
	position: relative;
	width: 100%;
	height: 600px;
	display: flex;
	align-items: center;
	margin-top: 100px;
	justify-content: space-evenly;
}

.hero-container img {
	transition: transform 0.3s ease;
}
  
.hero-container img:hover {
	transform: scale(1.1);
}

.hero-left {
	width: 650px;
}

.tag {
	opacity: 0;
	animation: fade-in-bottom 1.5s var(--ease) forwards;
}

.tag:nth-child(2) {
	animation-delay: 0.2s !important;
}

.tag:nth-child(3) {
	animation-delay: 0.4s !important;
}

.hero-right {
	width: 540px;
	animation: fade-in-right 1.5s ease-out forwards;
	opacity: 0;
}

.hero-img {
	position: relative;
	width: 120%;
}

@media only screen and (min-width: 2560px) {

	h1 {
		font-size: 140px;
	}
	
	h2 {
		font-size: 35px;
		margin-bottom: 15px;
	}
	
	.large-body-text {
		font-size: 34px;
	}
	
	body, p {
		font-size: 20px;
	}

	.intro-container {
		position: relative;
		width: 100%;
		height: 900px;
		margin-top: 100px;
	}

	.intro-left {
		width: 775px;
	}
	
	.intro-right {
		width: 700px;
	}

}

@media only screen and (max-width: 1200px) {

	body {
		background-color: rgb(26, 71, 86);
	}

}



/* Pop-up modal */
.popup {
	display: none; /* Hidden by default */
	position: fixed;
	z-index: 100; /* Ensures it appears on top */
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.7); /* Dark, semi-transparent background */
	display: flex;
	justify-content: center;
	align-items: center;
}

/* Pop-up content */
.popup-content {
	background-color: #fff;
	padding: 30px;
	border-radius: 15px; /* Smooth rounded corners */
	width: 500px; /* Slightly wider pop-up */
	max-width: 90%; /* Ensures it doesn't get too wide on small screens */
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3); /* Soft shadow for depth */
	text-align: center;
	position: relative; /* So the close button can be positioned absolutely */
	animation: slide-down 0.4s ease; /* Slide down effect */
	font-family: 'Arial', sans-serif;
}

/* /////////////////////////////////////////////////////////////////////////Problem Statement Section */

.problem-statement {
	position: relative;
	height: 500px;
	margin-top: 250px;
	margin-bottom: 150px;
}

.problem-overlay {
	position: relative;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #1c1c1c75;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	padding-right: 10vw;
}

.problem-text-container {
	color: white;
	text-align: center;
	max-width: 500px;
	z-index: 2;
}

@media only screen and (min-width: 2560px) {
	.problem-text-container {
		max-width: 600px;
	}

	.problem-overlay {
		padding-right: 16vw;
	}
}

/*//////////////////////////////////////////////////////////////////////// Goals, Aims, Objectives Section */
.goals-section {
	background-color: #1C1C1C;
	padding: 100px 0;
	text-align: center;
	margin-bottom: 150px;
}

.goals-container {
	display: flex;
	justify-content: space-around;
	max-width: 1200px;
	margin: 0 auto;
}

.goals-container div {
	padding: 50px;
}

@media only screen and (min-width: 2560px) {
	.goals-container {
		max-width: 1600px;
	}

	.goals-section {
		background-color: #1C1C1C;
		padding: 200px 0;
	}

	.goals-container div {
		padding: 100px;
	}
}

/* ///////////////////////////////////////////////////////////////////////Intended Audience Section */


.intended-audience-section {
	position: relative;
	height: 500px;
	margin-bottom: 150px;
}

.audience-overlay {
	position: relative;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #1c1c1c75;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	padding-left:  10vw;
}

.audience-text-container {
	text-align: center;
	max-width: 500px;
	z-index: 2;
}

@media only screen and (min-width: 2560px) {
	.audience-text-container {
		max-width: 600px;
	}

	.audience-overlay {
		padding-left: 16vw;
	}
}

/* ///////////////////////////////////////////////////////////////////////Intended Audience Section */

.solution-section{
	position: relative;
	height: 500px;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 150px;
}

.solution-text-container{
	text-align: center;
	max-width: 600px;
	z-index: 2;
}

/* ///////////////////////////////////////////////////////////////////////planning Section */
/* /////////////////////////////////////////////////////////////////////////////////////// */
/* /////////////////////////////////////////////////////////////////////////////////////// */


.parallax-sketch {
	position: relative;
	background-image: url("/assets/img/05piwi/planning_2.png");
	min-height: 1200px;
	background-attachment: fixed;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	display: flex;
	justify-content: center;

}

.parallax-heading {
	text-align: center;
	width: 350px;
	height: 50px;
	border-radius: 0 0 30px 30px;
	background: #1C1C1C;
	line-height: 40px; 
}

@media only screen and (max-width: 1440px) {
	.parallax-sketch {
		min-height: 900px;
	}
}

/* ///////////////////////////////////////////////////////////////////////Intended Audience Section */

.game-descript-section{
	position: relative;
	height: 500px;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 150px;
	margin-top: 150px;
}

.game-descript-container{
	text-align: center;
	max-width: 600px;
}

/* ///////////////////////////////////////////////////////////////////////// character animation */

.character-animations{
	display: flex;
	flex-direction: column;
	justify-content: space-evenly;
	width: 75%;
	height: 600px;
	border-color: #CDF514;
	border-style: solid;
	border-radius: 30px;
	margin-top: 150px;
	margin-left: auto;
	margin-right: auto;
	overflow: hidden;
}

.character-animations h2 {
	align-self: center;
}

.pagination-tabs {
	display: flex;
	justify-content: space-evenly;
}

.page-link {
	font-size: 1.75rem;
	transition-duration: 500ms;
}

.page-link:hover {
	color: var(--foreground-colour);
	cursor: var(--hover-cursor);
}

.page-link.active {
	color: #CDF514;
	text-decoration: underline;
}

.animation-tab {
	display: flex;
	position: absolute;
	opacity: 0;
	align-items: center;
	width: 100%;
	transition: transform 600ms var(--ease);
}

.animation-tab.previous {
	transform: translateX(-100%);
}

.animation-tab.next {
	transform: translateX(100%);
}

.animation-tab.active {
	position: relative;
	opacity: 1;
	transform: translateX(0%);
}

.animated-gif {
	display: flex;
	justify-content: center;
	width: 30%;
}

.animated-gif img {
	max-width: 75%;
}

.animation-frames {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 70%;
}

.animation-frames p {
	margin-top: 40px;
	width: 70%;
	text-align: center;
}

.animation-frames img {
	max-width: 85%;
}

/* /////////////////////////////////////////////////////////////////////////////////////// assets */

.assets-section {
	text-align: center;
	margin-top: 250px;
}
  
.assets-container {
	width: 1000px;
	margin: 0 auto; 
	padding: 20px;
}
  
.assets-container h2 {
	margin-bottom: 50px;
}
  
.assets-container img {
	max-width: 90%;
	height: 100%s;
	border-radius: 30px; 
}

/* /////////////////////////////////////////////////////////////////////////////////////// home */

.home-game-section {
	text-align: center;
	margin-top: 250px;
}
  
.home-game-container {
	width: 1000px;
	margin: 0 auto; 
	padding: 20px;
}
  
.home-game-container h2 {
	margin-bottom: 50px;
}
  
.home-game-container img {
	max-width: 100%;
	height: 100%s;
	border-radius: 30px; 
}


/* /////////////////////////////////////////////////////////////////////////////////////// book */

.book-section {
	text-align: center;
	margin-top: 250px;
	margin-bottom: 250px;
}
  
.book-container {
	width: 1600px;
	margin: 0 auto; 
	padding: 20px;
}
  
.book-container h2 {
	margin-bottom: 50px;
}
  
.book-container img {
	max-width: 100%;
}

@media only screen and (max-width: 1440px) {

	.book-container {
		width: 900px;
	}

}


/* /////////////////////////////////////////////////////////////////////////////////////// tile sheets */

.tilesheets {
	display: flex;
	height: 700px;
	margin-top: 150px;
	padding-left: 150px;
	padding-right: 150px;
}
  
.tilesheets-descript {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
}
  
.tilesheets-descript-text {
	text-align: center;
	max-width: 500px;
}
  
.tilesheets-img {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
  
.tilesheets-img img {
	width: 100%;
	transition: transform 0.3s ease;
}
  
.tilesheets-img img:hover {
	transform: scale(1.1);
}

/* /////////////////////////////////////////////////////////////////////////////////////// video */

.rendered-video {
	display: flex;
	height: 1300px;
	margin-bottom: 0px;
}

.rendered-video-text{
	text-align: center;
	max-width: 600px;
	z-index: 2;
}

.container-rendered-video {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.square-rendered-video {
	width: 1000px;
	height: auto;
	object-fit: cover;
	margin-top: 0;
	border-radius: 30px;
	margin-top: 50px;
}

@media only screen and (max-width: 1440px) {

	.square-rendered-video {
		width: 1200px;
		height: 600px;
	}

}

/*//////////////////////////////////////////////////////////// Page navigation buttons */

.navigation-buttons {
	display: flex;
	justify-content: space-around;
	align-items: center;
	position: fixed;
	bottom: 65px;
	right: 80px;
	border: solid #CDF514 3px;
	border-radius: 15px;
	background-color: #1C1C1C;
	width: auto;
	height: 4rem;
	text-align: center;
	overflow: hidden;
}

.divider {
	height: 60%;
	border-left: solid #555 1px;
}

.previous-page {
	font-size: 1.4rem;
	padding: 15px;
	padding-right: 10px;
	height: 100%;
	transition: all 500ms;
}

.previous-page:hover {
	background-color: #CDF514;
	color: #1C1C1C;
}

.next-page {
	font-size: 1.4rem;
	padding: 15px;
	padding-left: 10px;
	height: 100%;
	transition: all 500ms;
}

.next-page:hover {
	background-color: #CDF514;
	color: #1C1C1C;
}
