@import url("https://fonts.googleapis.com/css2?family=Martel+Sans&family=Martel:wght@200;300;400;600;700&family=Metamorphous&family=Michroma&display=swap");

* {
	margin: 0;
	padding: 0;
	box-sizing: 0;
	/*
	font-family: "Martel", serif;
	font-family: "Martel Sans", sans-serif;
    */
	font-family: "Michroma", sans-serif;
}

:root {
	--orange: #fa7d09;
}

html {
	scroll-behavior: smooth;
	font-size: 14px;
}

html,
body {
	overflow-x: hidden;
}

@media screen and (min-width: 1440px) {
	html {
		font-size: 16px;
	}
}

@media screen and (max-width: 1200px) {
	html {
		font-size: 13px;
	}
}

@media screen and (max-width: 1040px) {
	html {
		font-size: 12px;
	}
}

@media screen and (max-width: 280px) {
	html {
		font-size: 11px;
	}
}

body {
	background: black;
	background-image: url(./assets/bg.png);
	color: var(--orange);
	position: relative;
}

#preloader {
	height: 100vh;
	width: 100vw;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	position: fixed;
	top: 0;
	left: 0;
	background: var(--orange);
	background-size: cover;
	z-index: 1000;
	overflow: hidden;
}

#preloader .logo {
	font-family: "Metamorphous", cursive;
	font-weight: 700;
}

#preloader .logo h2 {
	font-size: 5rem;
	color: black;
}

@media screen and (max-width: 768px) {
	#preloader .logo h2 {
		font-size: 4rem;
	}

	#preloader svg {
		width: 180px;
		height: 60px;
	}
}

@media screen and (max-width: 440px) {
	#preloader .logo h2 {
		font-size: 3rem;
	}

	#preloader svg {
		width: 120px;
		height: 50px;
	}
}

.header {
	width: 100vw;
	height: 100vh;
	min-height: 911px;
}

.header nav {
	height: 10%;
	margin: auto;
	width: 90%;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.logo h2 {
	font-family: "Metamorphous", cursive;
	font-weight: 400;
}

.header nav ul {
	list-style: none;
	display: flex;
	align-items: center;
}

.header nav li {
	color: white;
	font-size: 1rem;
	font-family: "Martel Sans", sans-serif;
	cursor: pointer;
}

.header nav li:first-child {
	margin-right: 3vw;
}

.header nav li:after {
	content: "";
	display: block;
	width: 20%;
	border-bottom: 3px solid white;
	transition: 0.3s;
}

.header nav li:hover:after {
	width: 100%;
	border-color: var(--orange);
}

.header .mobile-nav {
	display: none;
}

.header section {
	margin: auto;
	width: 90%;
	height: 90%;
	display: flex;
	flex-direction: column;
	position: relative;
}

.header .text-upper-right {
	position: absolute;
	top: 0;
	right: 0;
	display: flex;
	align-items: center;
	transform: rotate(90deg) translate(50%, -600%);
	cursor: pointer;
	z-index: 20;
}

.floating-vid {
	position: absolute;
	top: 0;
	right: 0;
	width: 261px;
	height: 134px;
	display: none;
	opacity: 0.6;
	transform: rotate(270deg);
	text-rendering: optimizeSpeed;
	transition: 0.5s;
}

.floating-img {
	object-position: center;
	width: 100%;
	height: auto;
	object-fit: cover;
	z-index: 10;
}

.text-upper-right:hover .floating-vid {
	display: block;
}

@media screen and (max-width: 767px) {
	.floating-vid {
		display: none;
	}

	.floating-img {
		display: none;
	}

	.text-upper-right:hover .floating-vid {
		display: none;
	}
}

.header .circle {
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background-color: var(--orange);
	filter: blur(4px);
	margin-right: 10px;
}

/* text slider animation */
.header .text-upper-right span {
	font-size: 1rem;
}

.header .sliding-text {
	display: block;
	overflow: hidden;
}
.header .sliding-text span {
	display: block;
	position: relative;
	-webkit-animation-name: legend;
	animation-name: legend;
	-webkit-animation-duration: 2.5s;
	animation-duration: 2.5s;
	-webkit-animation-iteration-count: infinite;
	animation-iteration-count: infinite;
	-webkit-animation-timing-function: linear;
	animation-timing-function: linear;
}

.header .sliding-text span:after {
	content: attr(data-label);
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	transform: translateX(110%);
}

@keyframes legend {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(-110%);
	}
}

.header .text-left {
	display: flex;
	flex-direction: column;
	margin-top: 10vh;
}

.header .text-left h2 {
	font-size: 7.5em;
	width: 40%;
	font-weight: 400;
}

.header .text-left p {
	font-size: 1rem;
	font-family: "Martel", serif;
	line-height: 1.5rem;
	color: white;
	width: 20%;
}

.header .text-left p svg {
	display: inline;
	width: 1rem;
	height: 1rem;
}

.header .text-right {
	position: absolute;
	display: flex;
	flex-direction: column;
	left: 30%;
	top: 42%;
}

.header .text-right h2 {
	font-size: 7.5rem;
	font-weight: 400;
}

.header .text-right span {
	font-size: 4.5rem;
}

.header .text-showreel {
	position: absolute;
	top: 10%;
	left: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.5rem;
}

.header .text-showreel div {
	position: absolute;
}

.header .text-showreel .char,
.header .text-showreel .char2 {
	position: absolute;
	font-size: 0.875rem;
	color: white;
	font-family: "Martel Sans", sans-serif;
}

.header .text-showreel-mobile {
	display: none;
}

@media screen and (min-width: 1440px) {
	.header .text-right {
		position: absolute;
		display: flex;
		flex-direction: column;
		left: 30%;
		top: 46%;
	}
}

@media screen and (max-width: 1200px) {
	.header .text-right {
		position: absolute;
		display: flex;
		flex-direction: column;
		left: 30%;
		top: 40%;
	}
}

@media screen and (max-width: 1024px) {
	.header .text-right {
		position: absolute;
		display: flex;
		flex-direction: column;
		left: 30%;
		top: 40%;
	}

	.header .text-left h2 {
		font-size: 6.5em;
	}

	.header .text-right h2 {
		font-size: 6.5rem;
	}

	.header .text-right span {
		font-size: 4.5rem;
	}

	.header .text-upper-right {
		position: absolute;
		top: 0;
		right: 0;
		display: flex;
		align-items: center;
		transform: rotate(90deg) translate(50%, -500%);
	}
}

@media screen and (max-width: 880px) {
	.header .text-right {
		position: absolute;
		display: flex;
		flex-direction: column;
		left: 30%;
		top: 40%;
	}

	.header .text-left h2 {
		font-size: 5.6em;
	}

	.header .text-right h2 {
		font-size: 5.6rem;
	}

	.header .text-right span {
		font-size: 3.6rem;
	}

	.header .text-upper-right {
		position: absolute;
		top: 0;
		right: 0;
		display: flex;
		align-items: center;
		transform: rotate(90deg) translate(50%, -500%);
	}
}

@media screen and (max-width: 767px) {
	.header .text-right {
		position: absolute;
		display: flex;
		flex-direction: column;
		left: 10%;
		top: 35%;
	}

	.header .text-left p {
		font-size: 1rem;
		line-height: 1.5rem;
		color: white;
		width: 40%;
		position: absolute;
		top: 60%;
		left: 0;
	}

	.header .text-showreel {
		display: none;
	}

	.header .text-showreel-mobile {
		position: absolute;
		top: 10%;
		left: 50%;
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 1rem;
	}

	.header .text-showreel-mobile div {
		position: absolute;
	}

	.header .text-showreel-mobile .char,
	.header .text-showreel-mobile .char2 {
		position: absolute;
		font-size: 0.875rem;
		color: white;
		font-family: "Martel Sans", sans-serif;
	}
}

@media screen and (max-width: 600px) {
	.header .text-left {
		display: flex;
		flex-direction: column;
		margin-top: 20vh;
	}

	.header .mobile-nav {
		display: block;
		width: 30px;
		height: 30px;
		z-index: 100;
	}

	.header .nav-ul {
		position: fixed;
		top: 0;
		left: 0;
		width: 100vw;
		height: 100vh;
		background-color: black;
		z-index: 100;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: flex-start;
		transform: translateX(100%);
		transition: 0.5s;
	}

	.header .active {
		transform: translateX(0%);
	}

	.header .nav-ul li:first-child {
		margin: 30vh 0 10vh;
	}

	.header .nav-ul li {
		font-size: 1.5rem;
		color: var(--orange);
	}

	.header .text-right {
		position: absolute;
		display: flex;
		flex-direction: column;
		left: 10%;
		top: 45%;
	}

	.header .text-left p {
		font-size: 1rem;
		line-height: 1.5rem;
		color: white;
		width: 45%;
		min-width: 220px;
		position: absolute;
		top: 70%;
		left: 0;
	}
}

@media screen and (max-width: 590px) {
	.header .text-left h2 {
		font-size: 5em;
	}

	.header .text-right h2 {
		font-size: 5rem;
	}

	.header .text-right span {
		font-size: 3rem;
	}
}

@media screen and (max-width: 500px) {
	.header .text-left {
		display: flex;
		flex-direction: column;
		margin-top: 20vh;
	}

	.header .text-right {
		position: absolute;
		display: flex;
		flex-direction: column;
		left: 10%;
		top: 40%;
	}

	.header .text-left p {
		font-size: 1rem;
		line-height: 1.5rem;
		color: white;
		width: 45%;
		min-width: 220px;
		position: absolute;
		top: 60%;
		left: 0;
	}

	.header .text-left h2 {
		font-size: 4.4em;
	}

	.header .text-right h2 {
		font-size: 4.4rem;
	}

	.header .text-right span {
		font-size: 2rem;
	}
}

@media screen and (max-width: 440px) {
	.header .text-right {
		position: absolute;
		display: flex;
		flex-direction: column;
		left: 10%;
		top: 38%;
	}

	.header .text-left p {
		font-size: 1rem;
		line-height: 1.5rem;
		color: white;
		width: 45%;
		min-width: 220px;
		position: absolute;
		top: 56%;
		left: 0;
	}

	.header .text-left h2 {
		font-size: 4em;
	}

	.header .text-right h2 {
		font-size: 4rem;
	}

	.header .text-right span {
		font-size: 2rem;
	}
}

@media screen and (max-width: 380px) {
	.header .text-right {
		position: absolute;
		display: flex;
		flex-direction: column;
		left: 10%;
		top: 36%;
	}

	.header .text-left p {
		font-size: 1rem;
		line-height: 1.5rem;
		color: white;
		width: 45%;
		min-width: 220px;
		position: absolute;
		top: 52%;
		left: 0;
	}

	.header .text-left h2 {
		font-size: 3.5em;
	}

	.header .text-right h2 {
		font-size: 3.5rem;
	}

	.header .text-right span {
		font-size: 1.7rem;
	}
}

@media screen and (max-width: 340px) {
	.header .text-right {
		position: absolute;
		display: flex;
		flex-direction: column;
		left: 10%;
		top: 34%;
	}

	.header .text-left p {
		font-size: 1rem;
		line-height: 1.5rem;
		color: white;
		width: 45%;
		min-width: 220px;
		position: absolute;
		top: 48%;
		left: 0;
	}
	.header .text-left h2 {
		font-size: 3em;
	}

	.header .text-right h2 {
		font-size: 3rem;
	}

	.header .text-right span {
		font-size: 1.5rem;
	}
}

@media screen and (max-width: 290px) {
	.header .text-upper-right {
		transform: rotate(90deg) translate(50%, -425%);
	}
}

/* for short screens */
@media screen and (max-height: 880px) and (max-width: 450px) {
	:root {
		--screen-height: 880px;
	}

	.header .text-right {
		top: calc(36 * var(--screen-height) / 100);
	}

	.header .text-left p {
		top: calc(54 * var(--screen-height) / 100);
		left: 0;
	}
}

@media screen and (max-height: 820px) and (max-width: 450px) {
	:root {
		--screen-height: 820px;
	}

	.header .text-right {
		top: calc(37 * var(--screen-height) / 100);
	}

	.header .text-left p {
		top: calc(56 * var(--screen-height) / 100);
		left: 0;
	}
}

@media screen and (max-height: 740px) and (max-width: 450px) {
	:root {
		--screen-height: 760px;
	}

	.header .text-right {
		top: calc(38 * var(--screen-height) / 100);
	}

	.header .text-left p {
		top: calc(59 * var(--screen-height) / 100);
		left: 0;
	}
}

@media screen and (max-height: 660px) and (max-width: 450px) {
	:root {
		--screen-height: 700px;
	}

	.header .text-right {
		left: 10%;
		top: calc(39 * var(--screen-height) / 100);
	}

	.header .text-left p {
		top: calc(62 * var(--screen-height) / 100);
		left: 0;
	}
}

.section1 {
	margin: auto;
	width: 90%;
	height: 60vh;
	min-height: 600px;
	display: flex;
	align-items: flex-end;
	justify-content: center;
}

.section1 > h2 {
	font-size: 6rem;
	transform: rotate(270deg) translateX(0%);
	font-weight: 400;
}

.section1 > h2 span {
	margin-left: 20%;
}

.section1 .services {
	display: flex;
	flex-direction: column;
	color: white;
	align-self: center;
	margin-right: 5%;
	width: 70%;
}

.section1 .services h3 {
	margin-bottom: 10px;
	clip-path: polygon(0% 100%, 100% 100%, 100% 100%, 0% 100%);
	transform: translateY(50px);
	opacity: 0;
}

.section1 .services ul {
	list-style: none;
	display: flex;
	flex-direction: column;
	width: 100%;
	font-size: 1rem;
}

.section1 .services li {
	clip-path: polygon(0% 100%, 100% 100%, 100% 100%, 0% 100%);
	transform: translateY(50px);
	opacity: 0;
}

.section1 .desc {
	color: white;
	align-self: center;
	clip-path: polygon(0% 100%, 100% 100%, 100% 100%, 0% 100%);
	transform: translateY(50px);
	opacity: 0;
}

.section1 .desc p {
	margin-bottom: 30px;
	font-size: 1rem;
	font-family: "Martel", serif;
	letter-spacing: 1px;
}

.section1 .desc a {
	color: var(--orange);
	font-family: "Martel", serif;
	text-decoration: none;
}

@media screen and (max-width: 1400px) {
	.section1 > h2 {
		font-size: 6.5rem;
		transform: rotate(270deg) translateX(50%);
		font-weight: 400;
	}
}

@media screen and (max-width: 1350px) {
	.section1 .services {
		display: flex;
		flex-direction: column;
		color: white;
		align-self: center;
		margin-right: 10%;
	}
}

@media screen and (max-width: 1240px) {
	.section1 > h2 {
		font-size: 6rem;
		transform: rotate(270deg) translateX(50%);
		width: 30%;
		font-weight: 400;
	}

	.section1 > h2 span {
		margin-left: 20%;
	}

	.section1 .services {
		display: flex;
		flex-direction: column;
		color: white;
		align-self: center;
		width: 70%;
		margin-right: 5%;
	}

	.section1 .services ul {
		font-size: 1.2rem;
	}

	.section1 .desc p {
		font-size: 1.2rem;
	}
}

@media screen and (max-width: 1024px) {
	.section1 {
		margin: auto;
		width: 90%;
		min-height: 700px;
		display: flex;
		align-items: flex-start;
		justify-content: center;
		position: relative;
		margin-bottom: 5vh;
	}

	.section1 .services h3 {
		font-family: "Martel", serif;
		font-size: 1.4rem;
	}

	.section1 .services li {
		margin-bottom: 5px;
	}

	.section1 .desc {
		position: absolute;
		bottom: 0;
	}

	.section1 .services {
		align-self: flex-start;
		width: 60%;
		margin-right: 0;
	}

	.section1 h2 {
		width: 50%;
		transform: rotate(270deg) translateX(-50%);
	}
}

@media screen and (max-width: 610px) {
	.section1 h2 {
		font-size: 5rem;
	}
}

@media screen and (max-width: 440px) {
	.section1 {
		min-height: 550px;
	}
	.section1 h2 {
		font-size: 4rem;
	}
}

@media screen and (max-width: 360px) {
	.section1 h2 {
		width: 50%;
		transform: rotate(270deg) translateX(-100%);
	}
}

.section2 {
	margin: auto;
	width: 90%;
	position: relative;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.section2 h2 {
	font-size: 3rem;
	font-weight: 400;
	text-align: center;
	width: 70%;
	margin: auto;
	margin-bottom: 10vh;
	position: absolute;
	top: 20%;
	left: 15%;
	z-index: 100;
}

.section2 ul {
	list-style: none;
	position: absolute;
	top: 35%;
	right: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}

.section2 li {
	font-size: 0.75rem;
	line-height: 1.5rem;
}

.section2 .projects {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	margin-bottom: 5vh;
}

.section2 .projects p {
	color: white;
	font-size: 1rem;
	font-family: "Martel", serif;
	margin: 5px 0;
}

.section2 .projects > h3 {
	font-weight: 400;
	font-family: "Martel", serif;
}

.section2 #prj1,
.section2 #prj5 {
	align-self: flex-end;
}

.section2 #prj1 {
	margin-right: 10%;
	position: relative;
}

.section2 #prj3,
.section2 #prj6 {
	align-self: center;
}

#prj1 img {
}
#prj2 img {
	width: max-content;
	aspect-ratio: 467/247;
}
#prj3 img {
}
#prj4 img {
}
#prj5 img {
}
#prj6 img {
}

@media screen and (max-width: 1024px) {
	.section2 h2 {
		font-size: 3rem;
		font-weight: 400;
		text-align: center;
		width: 80%;
		margin: auto;
		position: absolute;
		top: 20%;
		left: 10%;
	}
}

@media screen and (max-width: 820px) {
	.section2 h2 {
		font-size: 2.6rem;
	}

	.section2 .projects {
		margin-bottom: 5vh;
	}
	.section2 #prj1,
	.section2 #prj5 {
		margin-right: 0%;
	}
}

@media screen and (max-width: 767px) {
	.section2 h2 {
		font-size: 2.2rem;
	}

	.section2 .projects {
		margin-bottom: 10vh;
	}
}

@media screen and (max-width: 610px) {
	.section2 h2 {
		font-size: 2rem;
	}

	.section2 ul {
		display: none;
	}

	.section2 .projects img {
		max-width: 100%;
	}

	.section2 #prj1,
	.section2 #prj5 {
		align-self: flex-end;
		margin-right: 0%;
		max-width: 80%;
	}

	.section2 #prj3 {
		align-self: center;
		max-width: 80%;
	}

	.section2 #prj6 {
		max-width: 100%;
	}
}

@media screen and (max-width: 440px) {
	.section2 h2 {
		font-size: 1.6rem;
		font-weight: 400;
		text-align: center;
		width: 100%;
		margin: auto;
		position: absolute;
		top: 17%;
		left: 0%;
	}
}

.section3 {
	width: 100%;
	margin: auto;
}

.section3 h2 {
	width: 90%;
	margin: auto;
	font-size: 3rem;
	font-weight: 400;
}

.section3 > h2:nth-child(2) {
	text-decoration: underline;
	margin-bottom: 20px;
}

#mobile-break {
	display: none;
}

.section3 #no-line {
	text-decoration: none;
}

.section3 div {
	width: 100%;
	background: white;
	overflow-x: hidden;
}

.section3 div ul {
	width: max-content;
	margin: auto;
}

.section3 div li {
	margin: 0 2vw;
}

.section3 ul {
	display: flex;
	align-items: center;
	justify-content: space-around;
	list-style: none;
}

.section3 ul li::before {
	content: "\2022"; /* Add content: \2022 is the CSS Code/unicode for a bullet */
	color: black; /* Change the color */
	font-weight: bold; /* If you want it to be bold */
	display: inline-block; /* Needed to add space between the bullet and the text */
	width: 1em; /* Also needed for space (tweak if needed) */
	margin-left: -1em; /* Also needed for space (tweak if needed) */
}

.section3 li {
	font-size: 1.5rem;
}

:root {
	--marquee-width: 80vw;
	--marquee-height: 20vh;
	/* --marquee-elements: 12; */ /* defined with JavaScript */
	--marquee-elements-displayed: 5;
	--marquee-element-width: calc(
		var(--marquee-width) / var(--marquee-elements-displayed)
	);
	--marquee-animation-duration: calc(var(--marquee-elements) * 3s);
}

.marquee {
	width: var(--marquee-width);
	height: var(--marquee-height);
	min-height: 35px;
	max-height: 35px;
	background-color: #fff;
	color: var(--orange);
	overflow: hidden;
	position: relative;
}
.marquee:before,
.marquee:after {
	position: absolute;
	top: 0;
	width: 10rem;
	height: 100%;
	content: "";
	z-index: 1;
}

.marquee-content {
	list-style: none;
	height: 100%;
	display: flex;
	animation: scrolling var(--marquee-animation-duration) linear infinite;
	animation-play-state: paused;
}

.section3 h2:nth-child(2):hover + .marquee > .marquee-content {
	animation-play-state: running;
}

@keyframes scrolling {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(
			calc(-1 * var(--marquee-element-width) * var(--marquee-elements))
		);
	}
}
.marquee-content li {
	display: flex;
	justify-content: center;
	align-items: center;
	/* text-align: center; */
	flex-shrink: 0;
	width: var(--marquee-element-width);
	max-height: 100%;
	font-size: 1.5rem; /* 5rem; */
	white-space: nowrap;
}

.marquee-content li img {
	width: 100%;
	/* height: 100%; */
	border: 2px solid #eee;
}

@media screen and (max-width: 1024px) {
	:root {
		--marquee-width: 100vw;
		--marquee-height: 16vh;
		--marquee-elements-displayed: 3;
	}
}

@media screen and (max-width: 767px) {
	.section3 h2 {
		font-size: 2rem;
	}

	:root {
		--marquee-width: 100vw;
		--marquee-height: 16vh;
		--marquee-elements-displayed: 3;
	}
}

@media (max-width: 600px) {
	:root {
		--marquee-width: 100vw;
		--marquee-height: 16vh;
		--marquee-elements-displayed: 2;
	}
	.marquee:before,
	.marquee:after {
		width: 5rem;
	}
}

@media screen and (max-width: 440px) {
	.section3 h2 {
		font-size: 3rem;
	}

	.section3 > h2:nth-child(2) {
		text-decoration: underline;
		margin-bottom: 30px;
	}

	.section3 div li {
		margin: 0 3vw;
	}

	.section3 li {
		font-size: 1.4rem;
	}

	#mobile-break {
		display: block;
	}
}

footer {
	margin: auto;
	padding: 10vh 0;
	width: 90%;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}

footer h2 {
	width: 30%;
	font-size: 1.5rem;
	font-weight: 400;
}

footer div {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

footer div h2 {
	font-size: 1.5rem;
	margin-bottom: 10px;
	width: 100%;
}

footer ul {
	width: 10%;
	list-style: none;
}

footer ul li {
	font-size: 0.75rem;
	line-height: 1.5rem;
	cursor: pointer;
	transition: 0.3s;
}

footer ul li:hover {
	color: white;
}

footer div p {
	font-size: 0.75rem;
	cursor: pointer;
}

@media screen and (max-width: 767px) {
	footer {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
	}

	footer h2 {
		width: 100%;
		margin-bottom: 5vh;
	}

	footer {
		margin: auto;
		padding: 5vh 0;
		width: 90%;
	}

	footer div {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		margin-bottom: 5vh;
	}

	footer div h2 {
		font-size: 1.5rem;
		margin-bottom: 10px;
		width: 100%;
	}

	footer ul {
		width: 10%;
		list-style: none;
	}

	footer ul li {
		font-size: 1rem;
		line-height: 1.5rem;
	}

	footer div p {
		font-size: 1rem;
	}
}
