@import url('https://fonts.googleapis.com/css2?family=Comic+Neue&display=swap');

@font-face {
	font-family: CreatoDisplay;
	src: url('../src/CreatoDisplay-Thin.otf');
}

html,
body {
	padding: 0;
	margin: 0;
	font-family: CreatoDisplay;
	overscroll-behavior: none;
	height: 100%;
	width: 100%;
	overflow: hidden;
	font-size: 0.82vw;
}

::selection {
	background: #000;
}

.noDisplay {
	display: none;
}

*::-webkit-scrollbar {
	display: none;
}

body {
	background-color: #000;
	/* min-height: -webkit-fill-available; */
}

* {
	cursor: url('../images/cursor.png') 16.5 15, auto !important;
	padding: 0;
	margin: 0;
	scrollbar-width: none;
}

#loadingCover {
	position: relative;
	width: 100vw;
	height: 100vh;
	position: fixed;
	z-index: 1000;
	background-color: #000;
	opacity: 1;
	transition: opacity 1500ms ease;
	transition-delay: 1500ms;
	font-size: 1.0416666666666666666666666666667vw;
}

#loadingCover.dismissed {
	opacity: 0;
}

#loadingCover.dismissed .container {
	opacity: 0;
}

#loadingCover .container {
	color: #fff;
	position: absolute;
	left: 50%;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	text-align: center;
	color: #fcddb0;
	transition: opacity 1500ms ease;
}

#loadingCover .container span.tilt {
	display: none;
}

#loadingCover.tilt .container span.tilt {
	display: block;
}

#loadingCover .container .loaded {
	display: none;
	position: relative;
}

#loadingCover.loaded .container span.loading {
	display: none;
}

#loadingCover.loaded .container .loaded {
	display: block;
}

#loadingCover .logo {
	background-image: url('../images/Cross.png');
	width: 3vw;
	aspect-ratio: 29 / 57;
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	position: absolute;
	left: 8vw;
	bottom: 12vh;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

#loadingCover .container .loaded>div {
	float: left;
	transition: opacity 200ms ease;
}

#loadingCover .container .loaded>div:not(.mouseLogo) {
	padding: 3.82vw 0;
}

#loadingCover .container .loaded #windowed {}

#loadingCover .container .loaded #fullscreen {}

#loadingCover .container .loaded>div>span {}

#loadingCover .container .loaded>div>.arrow {
	display: inline-block;
	width: 1vw;
	height: 1vw;
	border-top: #fcddb0 solid 0.2vw;
	border-left: #fcddb0 solid 0.2vw;
	position: relative;
	top: 0.25vw;
	margin: 0 2vw;
}

#loadingCover .container .loaded>div#windowed>.arrow {
	rotate: -45deg;
}

#loadingCover .container .loaded>div#fullscreen>.arrow {
	rotate: 135deg;
}

#loadingCover .container .loaded .mouseLogo {
	width: 5vw;
	height: 9vw;
	background-color: #fcddb0;
}

#loadingCover>.container:hover #windowed,
#loadingCover>.container:hover #fullscreen {
	opacity: 0.35;
}

#loadingCover>.container:hover .loaded.mouseLogoHovered #windowed,
#loadingCover>.container:hover .loaded.mouseLogoHovered #fullscreen {
	opacity: 1;
}

#loadingCover>.container:hover #windowed:hover {
	opacity: 1;
}

#loadingCover>.container:hover #fullscreen:hover {
	opacity: 1;
}

.scrollWrapper {
	background: radial-gradient(black, #c12d2d);
	height: 100%;
	width: 100vw;
	overflow-y: hidden;
	overflow-x: scroll;
	position: relative;
	/* 
	scroll-behavior: smooth; */
	scroll-snap-type: x proximity;
}

body.eyeClosed .scrollWrapper {
	scroll-snap-type: none;
}

.innerScrollWrapper {
	width: 500vw;
	height: 100%;
	overflow: hidden;
}

.msg {
	position: fixed;
	width: 5vw;
	height: 5vw;
	background-color: #fff;
	color: #000;
	font-size: 0.8vw;
	z-index: 199990;
	display: none;
}

.content {
	height: 100vh;
	width: 500vw;
	z-index: 9;
	position: relative;
}

.main {
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 9;
	pointer-events: none;
	transition: opacity 800ms ease;
}

body.eyeClosed .main {
	display: none;
}

.main section {
	transition: visibility 800ms ease;
	visibility: hidden;
	width: 100vw;
	height: 100%;
	position: relative;
}

.main section.active {
	visibility: visible;
}

.main section#section1 {}

.main section#section1 .logo {
	background-image: url('../images/WELCOME_Symbol.png');
	background-size: contain;
	background-position: center;
	width: 6.5625vw;
	aspect-ratio: 0.79746835443037974683544303797468 / 1;
	position: absolute;
	left: 5vw;
	bottom: 10vh;
}

.main section#section2 {
	top: -100%;
}

.main section#section2 .container {
	position: absolute;
	width: 32vw;
	left: 5vw;
	bottom: 10vh;
}

.main section#section2 .container .aboutMeHeading {
	aspect-ratio: 1.8312958435207823960880195599022 / 1;
	width: 19.5052vw;
	background-image: url('../images/ABOUTME_Title.png');
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	translate: -10%;
}

.main section#section2 .container p {
	color: #fcddb0;
	opacity: 1;
	margin-top: 1.5vh;
	pointer-events: all;
	font-size: 1.0416666666666666666666666666667vw;
}

.main section#section3 {
	top: -200%;
}

.main section#section3 .container {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 100vw;
}

.main section#section3 .container .leftBar {
	width: 25vw;
	position: absolute;
	left: 5vw;
	bottom: 8.7vh;
}

.main section#section3 .container .leftBar .workHeading {
	aspect-ratio: 1.8381201044386422976501305483029 / 1;
	width: 18.33vw;
	background-image: url('../images/MYWORK_Title.png');
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	margin-bottom: 4vh;
	translate: -10%;
}

.main section#section3 .container .leftBar a {
	display: inline-block;
	font-size: 1.0416666666666666666666666666667vw;
	font-weight: 300;
	color: #fcddb0;
	opacity: 1;
	text-decoration: none;
	padding: 1.3vh 0;
	transition: opacity 200ms ease;
	pointer-events: all;
}

.main section#section3 .container .leftBar.hovered a {
	opacity: 0.35;
}

.main section#section3 .container .leftBar.hovered a.hovered {
	opacity: 1;
}

.main section#section3 .container .leftBar a.active {
	opacity: 1;
}

.main section#section3 .container .leftBar.hovered a.active {
	opacity: 0.35;
}

.main section#section3 .container .leftBar.hovered a.active.hovered {
	opacity: 1;
}

.main section#section3 .container .leftBar.active a {
	opacity: 0.35;
}

.main section#section3 .container .leftBar.active a.active {
	opacity: 1;
}

.main section#section3 .container .leftBar.active.hovered a.active {
	opacity: 0.35;
}

.main section#section3 .container .leftBar.active.hovered a.active.hovered {
	opacity: 1;
}

.main section#section3 .container .rightBar {
	width: 60vw;
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	background-color: rgba(0, 0, 0, 0.85);
	pointer-events: none;
	transform: translateX(100%);
	transition: transform 800ms ease, visibility 800ms ease, opacity 800ms ease;
	overflow-y: scroll;
	pointer-events: all;
	visibility: hidden;
}

.main section#section3 .container .rightBar.visible {
	transform: translateX(0%);
	opacity: 0;
}

.main section#section3 .container .rightBar.active {
	opacity: 1;
	visibility: visible;
	transition: transform 800ms ease, visibility 800ms ease,
		opacity 800ms 500ms ease;
}

.main section#section3 .container .rightBar.cover.visible {
	opacity: 1;
	visibility: visible;
	background-color: #000;
}

.main section#section3 .container .rightBar article {
	pointer-events: all;
}

.main section#section3 .container .rightBar article.active {
	/* scroll-snap-align: start; */
}

.main section#section3 .container .rightBar:has(article.active) {
	/* scroll-snap-type: y proximity; */
}

.main section#section3 .container .rightBar article .heading {
	width: 60vw;
	aspect-ratio: 4.537037037037037037037037037037 / 1;
	background-image: var(--bgimage);
	background-size: cover;
	overflow: hidden;
}

.main section#section3 .container .rightBar article .heading::before {
	content: var(--hoverimage);
	pointer-events: none;
	opacity: 0;
	display: block;
	width: 0px;
	height: 0px;
}

.main section#section3 .container .rightBar article.active .post {
	/* height: calc(var(--fullheight) * 1px); */
}

.main section#section3 .container .rightBar article .post {
	height: 0px;
	/* transition: height 500ms ease; */
	overflow: hidden;
}

.main section#section3 .container .rightBar article .post>div {
	position: relative;
}

.main section#section3 .container .rightBar article .post img {
	width: 100%;
	display: block;
}

article .post .hiddenText {
	color: #fff;
	position: absolute;
	text-align: center;
	font-family: 'Comic Neue';
}

article .post div.hiddenText::selection {
	background: #000;
	color: #fff;
}

.main section#section4 {
	top: -300%;
}

.main section#section4 .container {
	position: absolute;
	width: 90vw;
	left: 5vw;
	bottom: 10vh;
	font-size: 1.0416666666666666666666666666667vw;
}

.main section#section4 .container .contactHeading {
	aspect-ratio: 4.84 / 1;
	width: 25.2vw;
	background-image: url('../images/CONTACT_Title.png');
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	translate: -7%;
}

.main section#section4 .container p {
	color: #fcddb0;
	/* opacity: 0.35; */
	margin-top: 2.6vh;
	pointer-events: all;
	width: fit-content;
}

.main section#section4 .container a {
	/* opacity: 0.35; */
	color: #fcddb0;
	transition: opacity 800ms ease;
	display: inline-block;
	pointer-events: all;
	text-decoration: none;
	margin-top: 4vh;
}

.main section#section4 .container a:hover {
	opacity: 1;
}

/* Email copy functionality */
.email-clickable {
	cursor: pointer;
	transition: opacity 300ms ease;
}

.email-feedback {
	opacity: 0.5;
	margin-left: 1vw;
	transition: opacity 2000ms ease;
	font-size: 0.7em;
}

.email-feedback.fade-out {
	opacity: 0;
}

body.initialHidden .main {
	opacity: 0;
}

.dots {
	position: fixed;
	bottom: 0;
	left: 3.7vw;
	text-align: left;
	z-index: 1009;
}

.dots::selection {
	background-color: transparent;
}

.dots .dot {
	width: 0.35vw;
	height: 0.35vw;
	opacity: 0.35;
	background-color: #fcddb0;
	transform: rotate(45deg);
}

.dots .dot.active {
	opacity: 1;
}

.dots .eye {
	aspect-ratio: 2.5967741935483870967741935483871 / 1;
	width: 4.21875vw;
	background-image: url('../images/EYE_Open.svg');
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	position: fixed;
	left: 5vw;
	top: 5vh;
	opacity: 0.35;
	transition: opacity 200ms ease;
}

.dots .eye:hover {
	opacity: 1;
}

body.initialHidden .dots .eye {
	opacity: 0;
}

body.initialHidden .dots .dotContainer {
	pointer-events: none;
}

body.eyeClosed .dots .eye {
	background-image: url('../images/EYE_Closed.svg');
}

.dots .dotContainer {
	display: inline-block;
	padding: 1.3vw;
}

body.eyeClosed .dots .dotContainer {
	display: none;
}

.dots.loading .dot {
	animation: loading 1000ms linear infinite;
}

.dots.loading .dot#dot2 {
	animation-delay: 250ms;
}

.dots.loading .dot#dot3 {
	animation-delay: 500ms;
}

.dots.loading .dot#dot4 {
	animation-delay: 750ms;
}

.layer {
	position: fixed;
	bottom: 0;
	left: 0;
	background-repeat: no-repeat;
	background-position: bottom left;
	height: 100%;
	/* width: 500vw; */
	background-size: 100% auto;
	will-change: left;
}

/* Nested layer images */
.layer .layer-image {
	display: inline-block;
	vertical-align: bottom;
	height: 100%;
	width: auto;
	pointer-events: none;
}

.layer6 {
	/* display: none; */
	/* width: var(--width); */
	--width: 2080px;
	min-width: 108.3333334vw;
	aspect-ratio: 17.33333333334 / 9;
	z-index: 1;
}

.layer55 {
	/* display: none; */
	/* width: var(--width); */
	--width: 3074.5px;
	min-width: 160.13020833333333333333333333333vw;
	aspect-ratio: 25.620833333333333333333333333333 / 9;
	z-index: 2;
}

.layer5 {
	/* display: none; */
	/* width: var(--width); */
	--width: 3837px;
	min-width: 199.84375vw;
	aspect-ratio: 31.975 / 9;
	z-index: 3;
}

.layer4 {
	/* display: none; */
	/* width: var(--width); */
	--width: 4881px;
	min-width: 254.21875vw;
	aspect-ratio: 40.675 / 9;
	z-index: 4;
}

.layer3 {
	/* display: none; */
	/* width: var(--width); */
	--width: 5758px;
	min-width: 299.8958334vw;
	aspect-ratio: 47.9833333334 / 9;
	z-index: 5;
}

.layer2 {
	/* display: none; */
	/* width: var(--width); */
	--width: 7678px;
	min-width: 399.895834vw;
	aspect-ratio: 63.9833333334 / 9;
	z-index: 6;
}

.layer1 {
	/* display: none; */
	/* width: var(--width); */
	--width: 9600px;
	min-width: 500vw;
	aspect-ratio: 80 / 9;
	z-index: 7;
}

.layer0 {
	/* width: var(--width); */
	--width: 19907px;
	min-width: 1036.82292vw;
	aspect-ratio: 165.891666666667 / 9;
	z-index: 8;
}

.sun {
	position: fixed;
	z-index: 7;
	--indx: 5;
	right: 0;
	background-image: url('../images/Vintage/sun.png');
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	height: 100%;
	transform-origin: center;
	min-width: 60vw;
	aspect-ratio: 9 / 9;
	bottom: -38%;
	translate: 37.6%;
}

.light {
	position: fixed;
	z-index: 7;
	top: 0;
	left: 0;
	background-image: url('../images/Vintage/light.png');
	background-size: contain;
	background-position: bottom right;
	background-repeat: no-repeat;
	min-width: 100vw;
	height: 100%;
	aspect-ratio: 16 / 9;
}

.content .target {
	width: 100vw;
	height: 100%;
	/* background-color: #c12d2d41;  */
	/* scroll-snap-align: start; */
	/* float: left; */
	position: absolute;
	transform: translateX(-50%);
}

.content .target#target1 {
	left: 0;
	transform: translate(0px);
}

.content .target#target2 {
	left: 183.3vw !important;
}

.content .target#target3 {
	left: 316vw;
}

.content .target#target4 {
	left: 450vw;
}

.vintage {
	position: fixed;
	z-index: 7;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background-size: 100% 100%;
	background-position: center;
}

.vintage#vintage1 {
	background-image: url('../images/Vintage/01Vintage.png');
}

.vintage#vintage2 {
	background-image: url('../images/Vintage/02Vintage.png');
}

.vintage#vintage3 {
	background-image: url('../images/Vintage/03Vintage.png');
}

.vintage#vintage4 {
	background-image: url('../images/Vintage/04Vintage.png');
}

@keyframes flash {
	0% {
		color: rgb(255, 255, 255);
	}

	50% {
		color: rgb(126, 126, 126);
	}

	100% {
		color: rgb(255, 255, 255);
	}
}

@keyframes loading {
	0% {
		opacity: 1;
	}

	50% {
		opacity: 0.35;
	}

	100% {
		opacity: 0.35;
	}
}

@media (min-aspect-ratio: 16/9) {
	.content .target#target2 {
		left: 186vw;
	}

	.content .target#target3 {
		left: 316vw;
	}
}

@media (max-aspect-ratio: 16/9) {
	.content .target#target2 {
		left: 186vw;
	}

	.content .target#target3 {
		left: 316vw;
	}
}

@media (max-aspect-ratio: 15/9) {
	.content .target#target2 {
		left: 186vw;
	}

	.content .target#target3 {
		left: 314vw;
	}
}

@media (max-aspect-ratio: 14/9) {
	.content .target#target2 {
		left: 186vw;
	}

	.content .target#target3 {
		left: 313vw;
	}
}

@media (max-aspect-ratio: 13/9) {
	.content .target#target2 {
		left: 186vw;
	}

	.content .target#target3 {
		left: 311vw;
	}
}

@media (max-aspect-ratio: 12/9) {
	.content .target#target2 {
		left: 192vw;
	}

	.content .target#target3 {
		left: 310vw;
	}
}

@media (max-aspect-ratio: 11/9) {
	.content .target#target2 {
		left: 194vw;
	}

	.content .target#target3 {
		left: 309vw;
	}
}

/* @media (min-aspect-ratio: 16/9) {
	.sun {
		translate: 41.6%;
	}
}
@media (min-aspect-ratio: 33/18) {
	.sun {
		translate: 38.5% 0%;
	}
}

@media (min-aspect-ratio: 17/9) {
	.sun {
		translate: 38.5% 0%;
	}
}
@media (min-aspect-ratio: 35/18) {
	.sun {
		translate: 38.5% 0%;
	}
}
@media (min-aspect-ratio: 18/9) {
	.sun {
		translate: 38.5% 0%;
	}
}

@media (min-aspect-ratio: 37/18) {
	.sun {
		translate: 38.5% 0%;
	}
}
@media (min-aspect-ratio: 19/9) {
	.sun {
		translate: 38.5% 0%;
	}
}

@media (min-aspect-ratio: 39/18) {
	.sun {
		translate: 38.6% 0%;
	}
}
@media (min-aspect-ratio: 20/9) {
	.sun {
		translate: 38.5% 0%;
	}
}

@media (min-aspect-ratio: 41/18) {
	.sun {
		translate: 38.9% 0%;
	}
}
@media (min-aspect-ratio: 21/9) {
	.sun {
		translate: 38.5% 0%;
	}
}

@media (min-aspect-ratio: 43/18) {
	.sun {
		translate: 38.8% 0%;
	}
}
@media (min-aspect-ratio: 22/9) {
	.sun {
		translate: 38.9% 0%;
	}
}

@media (min-aspect-ratio: 45/18) {
	.sun {
		translate: 38.9% 0%;
	}
}
@media (min-aspect-ratio: 23/9) {
	.sun {
		translate: 38.7% 0%;
	}
}

@media (min-aspect-ratio: 47/18) {
	.sun {
		translate: 38.7% 0%;
	}
}

@media (min-aspect-ratio: 24/9) {
	.sun {
		translate: 38.2% 0%;
	}
} */
/* @supports (-webkit-touch-callout: none) {
	.scrollWrapper {
		white-space: nowrap;
		overflow-y: hidden;
		overflow-x: hidden;
		-webkit-overflow-scrolling: touch;
	}
} */

/* responsivity */
@media (max-width: 768px) {

	.dots {
		width: 100%;
		display: flex;
		justify-content: space-around;
		left: 0;
		bottom: 15px;
		z-index: 9;
	}

	.dots .dot{
		width: 2vw;
		height: 2vw;
	}

	.dots .eye{
		width: 16vw;
	}

	.main section#section3 .container .rightBar article .heading{
		width: 100vw;
	}
	
	.main section#section3 .container .rightBar{
		width: 100vw;
	}
}

/* Close button for right bar - mobile only */
.closeRightBar {
	display: none;
	position: fixed;
	bottom: 8px;
	left: 50%;
	transform: translateX(-50%);
	width: 20px;
	height: 20px;
	background-color: transparent;
	border: none;
	border-radius: 50%;
	cursor: pointer;
	z-index: 100000;
	transition: all 0.3s ease;
}

.closeRightBar:hover {
	background-color: transparent;
	transform: translateX(-50%) scale(1.1);
}

.closeRightBar .cross {
	width: 20px;
	height: 20px;
	position: relative;
	margin: 0 auto;
}

.closeRightBar .cross::before,
.closeRightBar .cross::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 2px;
	height: 16px;
	background-color: #888;
	transform-origin: center;
	box-shadow: 0 0 4px rgba(0, 0, 0, 0.8);
}

.closeRightBar .cross::before {
	transform: translate(-50%, -50%) rotate(45deg);
}

.closeRightBar .cross::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}

.mobile-nav-links{
	position: fixed;
    bottom: 0;
	left: 0;
	padding: 11vw 0 12vw 5vw;
    width: 100%;
    background: linear-gradient(0deg,  rgba(0, 0, 0, 1) 74%,  rgba(0, 0, 0, 0.5) 86%,  rgba(0, 0, 0, 0) 100%);
    display: flex;
    justify-content: space-evenly;
    z-index: 10000;
    transform: translateY(120%);
    transition: transform 800ms cubic-bezier(0.25, 0.46, 0.45, 0.94), visibility 800ms ease, opacity 800ms ease;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
}

.mobile-nav-links.visible {
	transform: translateY(0%);
	visibility: visible;
	opacity: 1;
	pointer-events: all;
	transition: transform 800ms cubic-bezier(0.25, 0.46, 0.45, 0.94), visibility 800ms ease, opacity 800ms 500ms ease;
}

.mobile-nav-links a{
	text-decoration: none;
	color: #fcddb0;
	font-size: 4vw;
	pointer-events: all;
	cursor: pointer;
}

/* Show close button only on mobile devices */
@media (max-width: 768px) {
	.closeRightBar {
		display: none;
		pointer-events: all;
	}
	
	.closeRightBar.active {
		display: block;
		pointer-events: all;
	}

	/* Mobile navigation links animation is handled by transform and visibility */
	
	.main section#section1 .logo{
		left: 8vw;
		width: 20vw;
	}

	.main section#section2 .container{
		width: 90vw;
	}

	.main section#section2 .container .aboutMeHeading,
	.main section#section3 .container .leftBar .workHeading,
	.main section#section4 .container .contactHeading{
		width: 40vw;
		translate: 0;
	}

	.main section#section2 .container p,
	.main section#section3 .container .leftBar a,
	.main section#section4 .container{
		padding: 2.5vw;
		font-size: 3vw;
	}

	/* Make left bar links display in a row for mobile */
	.main section#section3 .container .leftBar {
		width: 100%;
	}

	/* Links container with flexbox and space-evenly */
	.main section#section3 .container .leftBar .linksContainer {
		display: flex;
		justify-content: space-evenly;
		width: 100%;
	}

	.main section#section3 .container .leftBar .linkContainer {
		display: inline-block;
	}

	#loadingCover .container .loaded .mouseLogo{
		width: 8vw;
		height: 14vw;
	}

	#loadingCover.loaded .container .loaded{
		display: flex;
		justify-content: center;
	}

	#loadingCover .container{
		width: 100%;
	}

	#loadingCover {
		font-size: 2.5vw;
	}

	#loadingCover .container .loaded .mouseLogo{
		width: 7vw;
		height: 12vw;
	}
}

@media (max-width: 500px) {
	.main section#section2 .container p,
	.main section#section3 .container .leftBar a,
	.main section#section4 .container{
		font-size: 4vw;
	}

	.main section#section2 .container .aboutMeHeading,
	.main section#section3 .container .leftBar .workHeading,
	.main section#section4 .container .contactHeading{
		width: 50vw;
	}

	#loadingCover {
		font-size: 4vw;
	}

	#loadingCover .container .loaded .mouseLogo{
		width: 8vw;
		height: 14vw;
	}
}

/* Hide on desktop */
@media (min-width: 769px) {
	.closeRightBar {
		display: none;
	}
}