/*
Theme Name: Normal (Lucas, 2022)
*/

@font-face {
	font-family: "HelveticaNeueLTPro-Roman";
	src: url("HelveticaNeueLTPro-Roman.woff") format("woff");
}

body {
	margin: 0;
	padding: 0;
	font-family: "HelveticaNeueLTPro-Roman", Helvetica, sans-serif;
	line-height: 1;
	background: #000;
	overflow-x: hidden;
}

h1 {
	font-size: 24vw;
	margin: 0 0 0 -0.5vw;
	font-weight: normal;
	letter-spacing: -0.02em;
	position: relative;
	user-select: none;
}

a, a:visited{
	text-decoration: none;
	color: inherit;
}

a:hover{
	text-decoration: underline;
}
section#content {
	width: 100vw;
	position: absolute;
	top: 0;
	left: 0;
}

::-moz-selection {
  background: #a594ee;
}

::selection {
  background: #a594ee;
}

/* Large Desktop */
@media only screen and (min-width: 1441px) {
	.grid-container {
		max-width: 70%;
		float: left;
	}
	.contact li,
	.opennav,
	.closenav {
		margin: 40px !important;
	}
	.scrolldown {
		width: 30px !important;
		margin: 40px !important;
	}
	.aboutinfo {
		padding: 40px !important;
	}
	.abouttext p {
		font-size: 36px !important;
	}
	.opennav,
	.closenav,
	.contact {
		font-size: 36px !important;
	}
	.abouttext .fineprint {
		font-size: 20px !important;
		max-width: 70%;
		left: 40px;
		right: 40px;
		bottom: 40px;
	}
}

/* Small Desktop */
@media only screen and (min-width: 1024px) and (max-width: 1440px) {
	.grid-container {
		max-width: 1045px;
		float: left;
	}
	.contact li,
	.opennav,
	.closenav {
		margin: 20px 20px 0;
	}
	.scrolldown {
		width: 30px !important;
		margin: 20px !important;
	}
	.aboutinfo {
		padding: 20px !important;
	}
	.abouttext p {
		font-size: 30px !important;
	}
	.opennav,
	.closenav,
	.contact {
		font-size: 36px !important;
	}
	.abouttext .fineprint {
		font-size: 16px !important;
		max-width: 1045px;
		left: 20px;
		right: 20px;
		bottom: 20px;
	}
}

/* Tablet */
@media only screen and (min-width: 768px) and (max-width: 1024px) {
	.grid-container {
		max-width: 1045px;
		float: left;
	}
	.contact li,
	.opennav,
	.closenav {
		margin: 20px 20px 0;
	}
	.scrolldown {
		width: 30px !important;
		margin: 20px !important;
	}
	.aboutinfo {
		padding: 20px !important;
	}
	.abouttext p {
		font-size: 30px !important;
	}
	.opennav,
	.closenav,
	.contact {
		font-size: 36px !important;
	}
	.abouttext .fineprint {
		font-size: 16px !important;
		max-width: 1045px;
		left: 20px;
		right: 20px;
		bottom: 20px;
	}
}

/* Mobile */
@media only screen and (min-width: 580px) and (max-width: 768px) {
	.grid-container {
		max-width: 1045px;
		float: left;
	}
	.contact li,
	.opennav,
	.closenav {
		margin: 20px 20px 0;
	}
	.scrolldown {
		width: 15px !important;
		margin: 20px !important;
	}
	.aboutinfo {
		padding: 20px !important;
	}
	.abouttext p {
		font-size: 24px !important;
	}
	.opennav,
	.closenav,
	.contact {
		font-size: 24px !important;
	}
	.abouttext .fineprint {
		font-size: 16px !important;
		max-width: 100%;
		left: 20px;
		right: 20px;
		bottom: 20px;
	}
}

/*@media only screen and (min-aspect-ratio: 1/2) and (max-aspect-ratio: 4/5) {
	.abouttext .fineprint {
		font-size: 20px !important;
		max-width: 1045px;
	}
}*/

/*@media only screen and (max-aspect-ratio: 4/3) {
	.abouttext p {
		font-size: 30px !important;
	}
	.abouttext .fineprint {
		font-size: 24px !important;
		max-width: 1045px;
	}
}*/

/* Weird Desktop Resize */
@media only screen and (min-width: 480px) and (max-width: 580px) {
	.opennav,
	.closenav,
	.contact {
		font-size: 24px !important;
	}
	.contact li,
	.opennav,
	.closenav {
		margin: 20px 20px 0;
	}
		.scrolldown {
		width: 15px !important;
		margin: 20px !important;
	}

	.aboutinfo p {
		font-size: 24px;
	}
	.abouttext .fineprint {
		font-size: 16px !important;
		max-width: 100%;
		left: 20px;
		right: 20px;
		bottom: 20px;
	}
}

/* Extra Small Mobile */
@media only screen and (max-width: 480px) {
	.grid-container {
		max-width: 1045px;
		float: left;
	}
	.contact li,
	.opennav,
	.closenav {
		margin: 15px 15px 0;
	}
	.scrolldown {
		width: 10px !important;
		margin: 15px !important;
	}
	.aboutinfo {
		padding: 15px !important;
	}
	.abouttext p {
		font-size: 14px !important;
	}
	.opennav,
	.closenav,
	.contact {
		font-size: 24px !important;
	}
	.abouttext .fineprint {
		font-size: 12px !important;
		max-width: 100%;
		left: 15px !important;
		right: 15px !important;
		bottom: 15px !important;
	}
	ul.contact li:nth-child(2) {
		margin-left: 5px;
	}
}

.titletile {
	width: 100vw;
	height: 100vh;
	/* max-width: 100%; */
	max-height: 100%;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	/*margin-left: -15px;*/
}
.titletile .tileimage {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background-size: cover;
	background-position: center center;
	background-repeat: repeat-x;
	background-attachment: fixed;
}
.titletile .portrait {
	display: none;
}
.mobile .titletile .tileimage {
	background-attachment: scroll;
}

.scrolldown {
	width: 2em;
	position: fixed;
	display: none;
	bottom: 0;
	right: 0;
	margin: 20px;
	background-size: contain;
	background-repeat: no-repeat;
	z-index: 1;
	transform: rotate(180deg);
	/*transition: bottom 0.5s;*/
}
.scrolldown:hover {
	cursor: pointer;
}
.scrolldown.initial {
	transform: rotate(0deg);
	position: absolute;
	display: block;
}
.scrolldown.initial:hover {
	cursor: default;
}

.tile {
	width: 100%;
	height: 100vh;
	position: relative;
	background-size: cover;
	background-position: center center;
	background-repeat: repeat-x;
	background-attachment: fixed;
}

.tile video {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: -2;
}
.tile.visible video {
	z-index: -1;
}

.mobile .tile {
	height: auto;
	padding-top: 75%;
	background-attachment: scroll;
}
.mobile .tile video {
	position: absolute;
}

button {
	font-family: "HelveticaNeueLTPro-Roman", Helvetica, sans-serif;
	line-height: 1;
}
button:hover {
	cursor: pointer;
	text-decoration: none;
}
button:hover:after {
	content: "";
	border-bottom: 3px solid white;
	margin-top: 0px;
	display: block;
	width: 100%;
	-webkit-margin-top-collapse: discard;
}
button:focus {
	outline: none;
}

.opennav,
.closenav {
	position: fixed;
	top: 0;
	color: #fff;
	background: transparent;
	border: none;
	/*font-size: 3.25vw;*/
	/*font-size: 48px;*/
	font-weight: 400;
	z-index: 1;
	padding: 0;
}

.closenav {
	position: relative;
	float: right;
}

.contact {
	list-style: none;
	margin: 0;
	padding: 0;
	/*font-size: 48px;*/
	/*font-size: 3.25vw;*/
	font-weight: 400;
}
.contact li {
	/*margin: 35px 40px 35px 35px;*/
	display: inline-block;
	float: left;
	padding: 0;
}
.contact a {
	color: #fff;
	text-decoration: none;
	padding: 0;
}
.contact a:hover:after {
	content: "";
	border-bottom: 3px solid white;
	margin-top: 0px;
	display: block;
	width: 100%;
	-webkit-margin-top-collapse: discard;
}

#content {
	visibility: visible;
	opacity: 1;
	/*transition: visibility 0.5s, opacity 0.5s;*/
}

.about {
	background: #fff;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	visibility: hidden;
	opacity: 0;
	z-index: 100;
	/*transition: visibility 0.5s, opacity 0.5s;*/
}
.aboutimage {
	background-size: cover;
	background-position: top center;
	width: 100vw;
	height: 100vh;
	max-width: 100%;
	max-height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	line-height: 0;
	overflow: hidden;
	z-index: -1;
}
.aboutimage .imagemask {
	height: 43.359375vw;
	top: -3.90625vw;
	position: relative;
	overflow: hidden;
}
.aboutinfo {
	width: 100vw;
	height: 100vh;
	max-width: 100%;
	max-height: 100%;
	position: absolute;
	top: 100vh;
	left: 0;
	line-height: 0;
	overflow: hidden;
	z-index: -1;
	background: white;
	padding: 20px;
	box-sizing: border-box;
}
.abouttext {
	/*font-size: 36px;*/
	font-size: 2.5vw;
	line-height: 1.15;
}
.abouttext .fineprint {
	margin-bottom: 0;
	position: absolute;
	font-size: 16px;
	/*font-size: 18px;*/
}
.abouttext p {
	margin: 0 0 1em 0;
}
.aboutfine {
	font-size: 0.9765625vw;
	width: 40.13671875vw;
	position: absolute;
	bottom: 2.4vw;
	left: 38.8671875vw;
	line-height: 1.15;
}
.aboutfine p {
	margin: 0;
}

.bg-cover {
	-moz-background-size: cover;
	background-size: cover;
}

.bg-contain {
	-moz-background-size: contain;
	background-size: contain;
}

@media (max-aspect-ratio: 4/5) {
	.closenav {
		position: absolute;
		right: 0;
	}
	/*.scrolldown {
		width: 1.2em;
		margin: 15px;
	}*/
	.titletile .portrait {
		display: block;
	}
	.titletile .landscape {
		display: none;
	}
	/*.titletile .scrolldown {
		width: 13.3155792277vw;
		height: 26.6311584554vw;
		left: 11.6591211718vw;
		top: 73.8626217228vh;
	}*/
	.titletile {
		width: 100vw;
		height: 100vh;
		/*min-height: 40vh;*/
		margin-left: 0;
	}
	.aboutscrollable {
		height: 100%;
		width: 100%;
		/* overflow: auto; */
		/* position: relative; */
		position: absolute;
		top: 0;
		left: 0;
		overflow-x: hidden;
		overflow-y: scroll;
		-webkit-overflow-scrolling: touch;
	}
	.opennav {
		font-size: 30px;
	}
	.closenav {
		font-size: 30px;
		z-index: 100;
	}
	.contact {
		position: static;
		font-size: 30px;
	}
	.contact li {
		float: none;
	}
	.aboutimage {
		width: 100vw;
		height: auto;
		min-height: 40vh;
		position: absolute;
		top: 0;
		left: 0;
		line-height: 0;
		overflow: hidden;
		z-index: -1;
	}
	.aboutimage .imagemask {
		height: 114.4vw;
		top: -10.4vw;
	}
	.aboutinfo {
		padding: 4.5vw;
		top: 40vh;
	}
	.abouttext {
		/*font-size: 8.4vw;*/
		width: auto;
		position: static;
		line-height: 1.15;
		padding: 0;
	}
	.aboutfine {
		font-size: 2.65vw;
		width: auto;
		position: static;
		padding: 0 4.5vw;
	}
	.aboutfine p {
		margin: 25vw 0 6vw 0;
	}
}


