@charset "utf-8";

@font-face
{
	font-family: 'Chrono';
	src:
		url('/fonts/ChronoWeb_WOFF/ChronoWebLight.woff') format('woff');
	font-display: fallback;
	font-style: normal;
	font-weight: 400;
}

@font-face
{
	font-family: 'Chrono';
	src:
		url('/fonts/ChronoWeb_WOFF/ChronoWebMedium.woff') format('woff');
	font-display: fallback;
	font-style: normal;
	font-weight: 500;
}

@font-face
{
	font-family: 'Hellix';
	src:
		url('https://nova.app/fonts/Hellix-Regular.woff') format('woff');
	font-display: fallback;
	font-style: normal;
	font-weight: 400;
}

@font-face
{
	font-family: 'Hellix';
	src:
		url('https://nova.app/fonts/Hellix-Bold.woff') format('woff');
	font-display: fallback;
	font-style: normal;
	font-weight: 700;
}

/*! Colors */
:root
{
	--foreground: #ffffff;
	--midforeground: #b2b2b2;
	--midground: #888888;
	--background: #080f24;
	--deepbackground: #060b1b;
	--red: #ea3329;
	--orange: #eb6a2c;
	--yellow: #f29c38;
	--lightyellow: #ffd321;
	--green: #75fb4c;
	--cyan: #00f0ff;
	--blue: #0C8CFE;
	--darkblue: #003b6e;
	--purple: #e532ad;
	--deeppurple: #970056;
	--darkpurple: #2b0c5c;
	--lightpurple: #3d147f;
	--brightpurple: #8400ff;
	--pink: #ff034a;
}

@supports (color: color(display-p3 1 1 1 / 1)) {
	:root
	{
		--foreground: color(display-p3 1.00 1.00 1.00 / 1.00);
		--midforeground: color(display-p3 0.70 0.70 0.70 / 1.00);
		--midground: color(display-p3 0.53 0.53 0.53 / 1.00);
		--deepbackground: color(display-p3 0.02 0.04 0.11 / 1.00);
		--red: color(display-p3 0.92 0.20 0.16 / 1.00);
		--orange: color(display-p3 0.93 0.42 0.17 / 1.00);
		--yellow: color(display-p3 0.94 0.60 0.22 / 1.00);
		--lightyellow: color(display-p3 1.00 0.83 0.13 / 1.00);
		--green: color(display-p3 0.46 0.98 0.30 / 1.00);
		--cyan: color(display-p3 0 0.95 1 / 1.00);
		--blue: color(display-p3 0.05 0.55 1.00 / 1.00);
		--darkblue:color(display-p3 0 0.24 0.43 / 1.00);
		--purple: color(display-p3 0.85 0.18 0.65 / 1.00);
		--purple: color(display-p3 0.90 0.20 0.68 / 1.00);
		--deeppurple: color(display-p3 0.59 0.00 0.34 / 1.00);
		--darkpurple: color(display-p3 0.17 0.05 0.36 / 1.00);
		--lightpurple: color(display-p3 0.24 0.08 0.50 / 1.00);
		--brightpurple: color(display-p3 0.47 0 1 / 1);
		--pink: color(display-p3 1 .012 .29 / 1);
	}
}

*
{
	margin: 0;
	padding: 0;
}

html
{
	overflow-x: hidden;
}

body
{
	background-color: #d6dbdb;	
	color: #1c1d4f;
	font-family: "Chrono", sans-serif;
	display: grid;
	min-height: 100vh;
	align-items: flex-start;
	position: relative;
	grid-template-rows: auto auto 1fr;
	font-weight: 400;
	background-image: url("/coda/codanova/starfield.jpg");
	background-position: bottom center;
	background-size: cover;
	background-size: over;
	background-repeat: no-repeat;
}

header
{
	padding: 1rem 2rem;
	height: 6rem;
	grid-row: 1;
	background-color: #d6dbdb;	

}

header a
{
	display: inline-block;
	margin: 0;
	text-decoration: none;
	color: inherit;
	color: #666;
}

header div#shopmark
{
	font-size: 1em;
	line-height: 6rem;
	background-image: url("//signserver.panic.com/get/altsvg");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: left center;
	padding-left: 7rem;
	margin: 0;
	letter-spacing: -0.05em;
}


section#intro,
section#nova
{
	margin: 0;
	width: 100vw;
}

section p
{
	max-width: 90rem;
	margin: 0 auto;
}

section#intro
{
	margin: 0 auto;
	padding: 2rem 0 4rem;
	align-self: center;
	background-color: #d6dbdb;

}

section#intro h1
{
	font-size: 1.2em;
	letter-spacing: -0.05em;
	max-width: 60rem;
	margin: 0 auto;
	text-align: center;
	font-weight: 400;
}

section#intro p
{
	font-size: 0.65em;
	letter-spacing: -0.025em;
	text-align: center;
	opacity: 0.65;
}

section#intro a
{
	color: inherit;
}

section#intro p.codaio
{
	font-size: 0.5em;
	opacity: 0.45;
	margin-top: 0.35em;
}

section#intro em
{
	font-style: normal;
	font-weight: 400;
}

section#nova,
footer
{
	font-family: "Hellix", sans-serif;
	display: grid;
	position: relative;
	color: #9c7fb7;
	overflow-x: hidden;
}

section#nova h2
{
	color: var(--foreground);
	font-weight: 600;
	font-size: 1.67em;
	margin: 0 auto;
	text-align: center;
	line-height: 1;
	max-width: 90rem;
}

section#nova a
{
	color: inherit;
	text-decoration: underline;
}

div.novalogo
{
	display: grid;
	place-items: center;
	position: relative;
	margin: 9rem auto;
}

div.wordmark
{
	text-align: center;
	color: var(--pink);
	text-transform: lowercase;
	letter-spacing: -0.05em;
	font-size: 7.2em;
	margin: -0.375em auto 0 auto;
	line-height: 1em;
	position: relative;
	display: inline-block;
	font-weight: 700;
	white-space: nowrap;
}

div.wordmark:before
{
	display: inline-block;
	width: 0.55em;
	height: 0.55em;
	content: "";
	background-image: url(/coda/codanova/nova-app-icon.png);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: 50% 50%;
	position: relative;
	top: 0.025em;
	left: 0em;
}

div.wordmark sup
{
	font-size: 0.15em;
	display: inline-block;
	position: relative;
	top: -0.25em;
	left: 0.25em;
}

div.novabutton
{
	display: inline-block;
	border-radius: 1em;
	padding: 0.205em 1.23em 0.315em 1.23em;
	background-color: transparent;
	color: var(--foreground);
	font-weight: 700;
	font-size: 1.5em;
	margin: 0 auto;
	cursor: pointer;
	position: relative;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	background-color: var(--blue);
	transition: transform 150ms ease-in-out;
}

div.novabutton a
{
	text-decoration: none !important;
}

footer
{
	margin: 6rem auto;
	text-align: center;
	font-size: 0.75em;
}

#nova
{
	padding-top: 16vw;
}

#nova::before
{
	display: block;
	content: "";
	background-image: url(/coda/codanova/shape.svg);
	width: 100vw;
	height: 13.334vw;
	background-size: 100% auto;
	background-repeat: repeat-x;
	background-position: 0% 0%;
	position: absolute;
	top: -0.25rem;
	margin: 0;
	padding: 0;
	
	transform-origin: top center;
	
	animation-name: warp;
	animation-duration: 30s;
	animation-direction: alternate;
	animation-iteration-count: infinite;				
	animation-timing-function: ease-in-out;		
	animation-timing-function: linear;
}

	@keyframes warp
	{		
		0% {
			transform: scale(1, 1) skew(0deg, 0deg);
		}
		30% {
			transform: scale(1.2, 1.2) skew(-20deg, 0deg);
		}
		50% {
			transform: scale(1.3, 1.1) skew(-10deg, 0deg);
		}
		70% {
			transform: scale(1.2, 1.2) skew(20deg, 0deg);
		}
		100% {
			transform: scale(1, 1) skew(0deg, 0deg);
		}
	}


html { font-size: 2.4px; }
body { font-size: 3rem; }	

/* Start auto-resizing */
@media screen and (min-width: 240px)
{
	html { font-size: 1vw; }
	body { font-size: 3rem; }	
}
@media screen and (min-width: 640px)
{
	body { font-size: 3rem; }	
}

/* Stop auto-resizing */
@media screen and (min-width: 1000px)
{
	html { font-size: 10px; }
}
	