@font-face {
	font-family: 'Apercu';
	src: url('../fonts/Apercu-Medium.eot');
	src: url('../fonts/Apercu-Medium.eot?#iefix') format("embedded-opentype"),
			 /*url('../fonts/Apercu-Medium.woff') format("woff"),*/
			 url('../fonts/Apercu-Medium.ttf') format("truetype");
	font-style: normal;
}

*,
*::after,
*::before {
	box-sizing: border-box;
}

:root {
	font-size: 15px;
}

body {
	margin: 0;
	--color-text: #151515;
	--color-bg: #ffcf02;
	--color-link: #1c0a31;
	--color-link-hover: #e61a23;
	--color-link-hover-darken: rgba(255, 75, 0, 1) ;
	--color-link-lighten: rgba(28, 10, 49, .60);
	color: var(--color-text);
	background-color: var(--color-bg);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-family: 'Apercu', sans-serif;
}

main {
  overflow-x: hidden;
}

a {
	text-decoration: none;
	color: var(--color-link);
	color: #1c0a31;
	outline: none;
}

a:hover,
a:focus {
	color: var(--color-link-hover);
	outline: none;
}
input {
  -webkit-appearance: none;
  font-family: inherit;
  font-size: inherit;
  color: var(--color-bg);
  background: var(--color-link-hover);
  border: 2px solid var(--color-link-hover);
  padding: 10px 20px;
  margin: 10px 1vmin;
  text-transform: capitalize;
	cursor: pointer;
}
input:hover,
input:active {
	background: var(--color-link-hover-darken);
	border: 2px solid var(--color-link-hover-darken);
}

h3 {
  margin: .25em 0;
}

.frame {
	padding: 3rem 5vw;
	text-align: center;
	position: relative;
	z-index: 1000;
	line-height: 1;
}

.frame__title {
	font-size: 1rem;
	margin: 0 0 1rem;
	font-weight: 700;
}

.frame__links {
	display: inline;
}

.frame__links a:not(:last-child),
.frame__demos a:not(:last-child) {
	margin-right: 1rem;
}

.frame__demos {
	margin: 1rem 0;
}

.frame__demo--current,
.frame__demo--current:hover {
	color: var(--color-text);
}

@media screen and (max-width: 53em) {
  .frame {
    padding: 1vmin;
  }
}

@media screen and (min-width: 53em) {
	.frame {
		text-align: left;
		display: grid;
		align-content: space-between;
		width: 100%;
		padding: .5vw 1vw;
		pointer-events: none;
		grid-template-columns: 100%;
		grid-template-rows: auto;
	}

	.frame__title-wrap {
		display: flex;
		align-items: start;
	}

	.frame__info {
		margin: 0;
	}

	.frame__title {
		margin: 0 1rem 0 0;
	}

	.frame__links {
		padding: 0;
		justify-self: end;
	}

	.frame a {
		pointer-events: auto;
	}
}
.marquee {
  margin: 1rem 0;
  font-size: 9vw;
}

.marquee--long { 
	position: relative;
	padding-top: 3px;
  padding-left: 2vmin;
}

.marquee span {   
   display: inline-block;
   white-space: nowrap;
   color: var(--color-text);
   width: var(--tw);
   text-shadow: var(--tw) 0 currentColor, 
                calc(var(--tw) * 2) 0 currentColor, 
                calc(var(--tw) * 3) 0 currentColor,
                calc(var(--tw) * 4) 0 currentColor;
  
   will-change: transform;
   animation: marquee var(--ad) linear infinite;
   animation-play-state: running;
}

.marquee:hover span {
   animation-play-state: paused;
}

@keyframes marquee {
   0% { transform: translateX(0); }
   100% { transform: translateX(-100%); }
}

/*  
* on MacOs: System Preferences > 
*           Accessibility > 
*           Display > Reduce motion
*/

@media (prefers-reduced-motion: reduce) {
 .marquee span {
   animation: none;
   text-shadow: none;
   width: auto;
   display: block;
   line-height: 1.5;
   text-align: center;
   white-space: normal;
 }
}

.update {
	color: var(--color-link-hover);
	font-size: .92em;
	padding-top: 6px;
	letter-spacing: 2px;
	text-transform: uppercase;
}

.top--menu {
	position: fixed;
	background: var(--color-bg);
}

.bottom-menu {
  position: fixed;
  bottom: 0;
  font-size: .8em;
}

.hmu {
	color: var(--color-link-hover);
}
.hmu:hover {
	border-bottom: 1px solid var(--color-link-hover);
}

.menu {
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	padding: 30vh 0 15vh;
	--marquee-width: 100vw;
	--offset: 20vw;
	--move-initial: calc(-25% + var(--offset));
	--move-final: calc(-50% + var(--offset));
	--item-font-size: 3vw;
	counter-reset: menu;
}

.menu__item {
	cursor: default;
	position: relative;
	padding: 0 5vw;
}

.menu__item-contents {
	display: flex;
}

@media screen and (max-width: 53em) {
  .menu__item-contents {
		flex-direction: column;
	}
}

.menu__item-link {
	display: inline-block;
	cursor: pointer;
	position: relative;
	-webkit-text-stroke: 1.5px #000;
	text-stroke: 1.5px #000;
	-webkit-text-fill-color: transparent;
	text-fill-color: transparent;
	color: transparent;
  transition: opacity 0.4s;
  padding: 2vmin 1vmin 0;
	font-size: var(--item-font-size);
	font-size: calc(var(--item-font-size) * 1.2);
}

.menu__item-link::before {
	all: initial;
	font-family: 'Apercu', sans-serif;
	counter-increment: menu;
	content:  counter(menu);
	position: absolute;
	bottom: 10%;
  left: -10px;
  font-size: .5em;
  pointer-events: none;
  -webkit-text-stroke: 1.5px #000;
	text-stroke: 1.5px #000;
	-webkit-text-fill-color: transparent;
	text-fill-color: transparent;
	color: transparent;
}

.menu__item-link:hover {
	transition-duration: 0.1s;
	opacity: 1;
}

.link--updates {
	-webkit-text-stroke: 1.5px var(--color-link-hover);
	text-stroke: 1.5px var(--color-link-hover);
	-webkit-text-fill-color: transparent;
	text-fill-color: transparent;
	color: transparent;
}

.menu__item-content {
	pointer-events: none;
  opacity: 0;
	transform: translate3d(calc(-100% - 6vw),-30%,0) translate3d(0,20px,0);
	transform: translate3d(0,60%,0) translate3d(0,20px,0);
}

.menu__item-link:hover + .menu__item-content {
	opacity: 1;
	padding: 5vmin 1vmin 0;
	transform: perspective(1px) scale(1.0);
	transition: all 0.4s;
}

@media screen and (max-width: 53em) {
  .menu__item-content {
		display: content;
		font-size: .8em;
		opacity: 1;
		transform: perspective(1px) scale(1.0);
	}
}

.menu__item-sub {
	position: relative;
	padding-left: 1vmin;
	width: var(--marquee-width);
	overflow: hidden;
  /*mix-blend-mode: color-burn;*/
}

.menu__item-sub a {
  font-size: calc(var(--item-font-size) / 1.5);
    padding-right: 1vmin;
}
@media screen and (max-width: 53em) {
  .menu__item-link::before {
    font-size: 1rem;
  }
  .menu__item-link {
    font-size: calc(var(--item-font-size) * 3);
  }
  .menu__item-sub a {
    font-size: calc(var(--item-font-size) * 2);
  }
}

.menu__item-sub__inner {
  bottom: 15%;
  padding: .3em;
}

@media screen and (max-width: 53em) {
  .menu__item-sub__inner {
    padding: .75em 2.5em .75em 0;
  }
}

.funded,
.funded a {
	color: var(--color-link-lighten);
}
.funded a:hover {
	color: #f55d58;
}

