@charset "UTF-8";
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
  -webkit-text-size-adjust: 100%;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after {
  content: "";
  content: none;
}

q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* --- REGULAR GX FONTS ––– */
@font-face {
  font-family: 'GT Ultra';
  src: url("../fonts/GT-Ultra-VF.woff2") format("woff2-variations"), url("../fonts/GT-Ultra-VF.ttf") format("truetype-variations");
  font-weight: normal;
}

@font-face {
  font-family: 'GT Ultra Ultra';
  src: url("../fonts/GT-Ultra-Ultra-VF.woff2") format("woff2-variations"), url("../fonts/GT-Ultra-Ultra-VF.ttf") format("truetype-variations");
  font-weight: normal;
}

/* --- MINISITE-SPECIFIC GX FONTS ––– */
@font-face {
  font-family: 'Sans-Serif VAR';
  src: url("../fonts/morphs/SansSerif-VF.woff2") format("woff2-variations"), url("../fonts/morphs/SansSerif-VF.ttf") format("truetype-variations");
  font-weight: normal;
}

@font-face {
  font-family: 'Spike VAR';
  src: url("../fonts/morphs/Spike-VF.woff2") format("woff2-variations"), url("../fonts/morphs/Spike-VF.ttf") format("truetype-variations");
  font-weight: normal;
}

@font-face {
  font-family: 'Ragged VAR';
  src: url("../fonts/morphs/Raged-VF.woff2") format("woff2-variations"), url("../fonts/morphs/Raged-VF.ttf") format("truetype-variations");
  font-weight: normal;
}

@font-face {
  font-family: 'Scarf VAR';
  src: url("../fonts/morphs/Scarf-VF.woff2") format("woff2-variations"), url("../fonts/morphs/Scarf-VF.ttf") format("truetype-variations");
  font-weight: normal;
}

@font-face {
  font-family: 'Calligraphy VAR';
  src: url("../fonts/morphs/SerifSansFine-VF.woff2") format("woff2-variations"), url("../fonts/morphs/SerifSansFine-VF.ttf") format("truetype-variations");
  font-weight: normal;
}

/* ——— COLORS ——— */
/* ——— ANIMATION SPEEDS ——— */
.very-slowly-transitioning {
  transition: all 1.5s ease-in-out;
}

.slowly-transitioning {
  transition: all 0.75s ease-in-out;
}

.quickly-transitioning {
  transition: all 0.25s ease-in-out;
}

/* ––– BOX SIZING ––– */
/* ––– BUTTON SIZING ––– */
/* ––– GRID UNITS ––– */
/* ––– SCROLL BAR ––– */
html {
  scroll-behavior: smooth;
}

/*
body {
	scrollbar-color: black white;
}
::-webkit-scrollbar-track {
  background: black;
}
::-webkit-scrollbar-thumb {
  background-color: white;
}
*/
/* ––– TRANSITION FIX (Chrome fires transitions on page load) ––– */
body.preload {
  transition: none !important;
}

/* ––– FONT SIZING ––– */
.font-size-s {
  font-size: 15px;
}

@media only screen and (min-width: 600px) {
  .font-size-s {
    font-size: 19px;
  }
}

.font-size-m {
  font-size: 16px;
  letter-spacing: 0.03em;
}

@media only screen and (min-width: 600px) {
  .font-size-m {
    font-size: 16px;
  }
}

@media only screen and (min-width: 1100px) {
  .font-size-m {
    font-size: 25px;
    letter-spacing: 0.015em;
  }
}

.font-size-l {
  font-size: 24px;
}

@media only screen and (min-width: 600px) {
  .font-size-l {
    font-size: 38px;
  }
}

@media only screen and (min-width: 1100px) {
  .font-size-l {
    font-size: 45px;
  }
}

.font-size-sxl {
  font-size: 8vw;
}

@media only screen and (min-width: 600px) {
  .font-size-sxl {
    font-size: 3.7vw;
  }
}

.font-size-xl, h2 {
  font-size: 28px;
}

@media only screen and (min-width: 600px) {
  .font-size-xl, h2 {
    font-size: 11vw;
    font-size: 44px;
  }
}

.font-size-xxl, h1, .h1 {
  font-size: 18vw;
}

@media only screen and (min-width: 600px) {
  .font-size-xxl, h1, .h1 {
    font-size: 17vw;
  }
}

@media only screen and (min-width: 1100px) {
  .font-size-xxl, h1, .h1 {
    font-size: 13vw;
  }
}

.font-size-xxxl {
  font-size: 58.5vw;
}

@media only screen and (min-width: 600px) {
  .font-size-xxxl {
    font-size: 57.8vw;
  }
}

.color-white {
  color: #FFFFFF;
}

.color-black {
  color: #000000;
}

.color-gray {
  color: #666660;
}

.color-gray-light {
  color: #CBCCBE;
}

.color-brown {
  color: #AC4300;
}

.color-red {
  color: red;
}

.color-red-light {
  color: #FF8080;
}

.color-red-lighter {
  color: #FFCCCC;
}

.color-orange {
  color: #FF9400;
}

.color-yellow {
  color: #FFC800;
}

.color-yellow-light {
  color: #FFFF55;
}

.color-green {
  color: #007403;
}

.color-green-light {
  color: #00BF3A;
}

.color-green-lighter {
  color: #55FF55;
}

.color-turqoise {
  color: #007F5B;
}

.color-turqoise-light {
  color: #05CF9C;
}

.color-turqoise-lighter {
  color: #00F4B4;
}

.color-blue {
  color: #0068FF;
}

.color-blue-light {
  color: #83BBFF;
}

.color-blue-lighter {
  color: #B3D9FF;
}

.color-magenta {
  color: #EC00FF;
}

.color-magenta-light {
  color: #FA97FF;
}

.color-magenta-lighter {
  color: #F9CCFF;
}

.bg-white {
  background: #FFFFFF;
}

.bg-black {
  background: #000000;
}

.bg-gray {
  background: #666660;
}

.bg-gray-light {
  background: #CBCCBE;
}

.bg-brown {
  background: #AC4300;
}

.bg-red {
  background: red;
}

.bg-red-light {
  background: #FF8080;
}

.bg-red-lighter {
  background: #FFCCCC;
}

.bg-orange {
  background: #FF9400;
}

.bg-yellow {
  background: #FFC800;
}

.bg-yellow-light {
  background: #FFFF55;
}

.bg-green {
  background: #007403;
}

.bg-green-light {
  background: #00BF3A;
}

.bg-green-lighter {
  background: #55FF55;
}

.bg-turqoise {
  background: #007F5B;
}

.bg-turqoise-light {
  background: #05CF9C;
}

.bg-turqoise-lighter {
  background: #00F4B4;
}

.bg-blue {
  background: #0068FF;
}

.bg-blue-light {
  background: #83BBFF;
}

.bg-blue-lighter {
  background: #B3D9FF;
}

.bg-magenta {
  background: #EC00FF;
}

.bg-magenta-light {
  background: #FA97FF;
}

.bg-magenta-lighter {
  background: #F9CCFF;
}

.side-margins {
  margin-left: auto;
  margin-right: auto;
  width: calc(100vw - 20px);
}

@media only screen and (min-width: 600px) {
  .side-margins {
    width: calc(100vw - 40px);
  }
}

@media only screen and (min-width: 1100px) {
  .side-margins {
    width: calc(100vw - 400px);
  }
}

.side-paddings {
  padding-left: 15px;
  padding-right: 15px;
}

@media only screen and (min-width: 600px) {
  .side-paddings {
    padding-left: 20px;
    padding-right: 20px;
  }
}

@media only screen and (min-width: 1100px) {
  .side-paddings {
    padding-left: 60px;
    padding-right: 60px;
  }
}

.margin-bottom-xs {
  margin-bottom: calc(100vmax / 56);
}

.margin-bottom-s {
  margin-bottom: calc(100vmax / 42);
}

.margin-bottom-m {
  margin-bottom: calc(100vmax / 28);
}

.margin-bottom-l {
  margin-bottom: calc(100vmax / 14);
}

.margin-top-s {
  margin-top: calc(100vmax / 42);
}

.margin-top-m {
  margin-top: calc(100vmax / 28);
}

.margin-top-l {
  margin-top: calc(100vmax / 14);
}

.margin-top-xl {
  margin-top: calc(100vmax / 2.5);
}

.padding-bottom-s {
  padding-bottom: calc(100vmax / 42);
}

.padding-bottom-m {
  padding-bottom: calc(100vmax / 28);
}

.padding-bottom-l {
  padding-bottom: calc(100vmax / 14);
}

.padding-top-s {
  padding-top: calc(100vmax / 42);
}

.padding-top-m {
  padding-top: calc(100vmax / 28);
}

.padding-top-l {
  padding-top: calc(100vmax / 14);
}

.mobile-only {
  display: inline-block;
}

@media only screen and (min-width: 600px) {
  .mobile-only {
    display: none;
  }
}

.flip-x {
  transform: scaleX(-1);
}

.flip-y {
  transform: scaleY(-1);
}

.ot-onum {
  font-feature-settings: 'kern' 1, 'onum' 1, 'pnum' 1;
}

.ot-onum-tnum {
  font-feature-settings: 'kern' 1, 'onum' 1, 'tnum' 1;
}

.ot-lnum {
  font-feature-settings: 'kern' 1, 'lnum' 1, 'pnum' 1;
}

.ot-lnum-tnum {
  font-feature-settings: 'kern' 1, 'lnum' 1, 'tnum' 1;
}

.ot-dlig {
  font-feature-settings: 'kern' 1, 'liga' 1, 'dlig' 1;
}

.ot-sups {
  text-transform: lowercase;
  font-feature-settings: 'kern' 1, 'sups' 1;
}

.ot-onum-slash {
  font-feature-settings: 'kern' 1, 'onum' 1 , 'zero' 1;
}

.ot-lnum-slash {
  font-feature-settings: 'kern' 1, 'lnum' 1 , 'zero' 1;
}

.ot-tf-onum-slash {
  font-feature-settings: 'kern' 1, 'tnum' 1, 'onum' 1 , 'zero' 1;
}

.ot-tf-lnum-slash {
  font-feature-settings: 'kern' 1, 'tnum' 1, 'lnum' 1 , 'zero' 1;
}

.ot-osf {
  font-feature-settings: 'onum' 1, 'kern' 1;
}

.ot-ssplusarrow {
  font-feature-settings: 'kern' 1, 'ss01' 1, 'ss02' 1, 'ss03' 1, 'ss04' 1;
}

.ot-salt {
  font-feature-settings: 'calt' 1, 'kern' 1;
}

.ot-smcp {
  font-feature-settings: 'smcp' 1, 'kern' 1;
}

.ot-case {
  font-feature-settings: 'case' 1, 'kern' 1;
}

.ot-ss01 {
  font-feature-settings: 'ss01' 1, 'kern' 1;
}

.ot-ss02 {
  font-feature-settings: 'ss02' 1, 'kern' 1;
}

.ot-ss03 {
  font-feature-settings: 'ss03' 1, 'kern' 1;
}

.ot-ss04 {
  font-feature-settings: 'ss04' 1, 'kern' 1;
}

.ot-ss05 {
  font-feature-settings: 'ss05' 1, 'kern' 1;
}

.ot-ss01-ss02 {
  font-feature-settings: 'ss01' 1, 'ss02' 1, 'kern' 1;
}

.ot-ss01-ss03 {
  font-feature-settings: 'ss01' 1, 'ss03' 1, 'kern' 1;
}

.ot-ss02-ss03 {
  font-feature-settings: 'ss02' 1, 'ss03' 1, 'kern' 1;
}

.ot-ss01-ss04 {
  font-feature-settings: 'ss01' 1, 'ss04' 1, 'kern' 1;
}

.ot-ss03-ss05 {
  font-feature-settings: 'ss03' 1, 'ss05' 1, 'kern' 1;
}

.border-bottom-black {
  border-bottom: 1px solid #000000;
}

.border-top-black {
  border-top: 1px solid #000000;
}

.show-desktop {
  display: none !important;
}

@media only screen and (min-width: 1100px) {
  .show-desktop {
    display: inherit !important;
  }
}

.show-mobile-und-tablet {
  display: flex !important;
}

@media only screen and (min-width: 1100px) {
  .show-mobile-und-tablet {
    display: none !important;
  }
}

.variable-fonts-support-missing {
  display: flex;
  background: #000000;
  color: #FF3801;
  width: calc(100vw - (100vw - 100%));
  align-items: center;
  justify-content: center;
}

.variable-fonts-support-missing p {
  display: flex;
  padding: 60px 50px 60px 50px;
  max-width: 1000px;
  font-size: 60px;
}

@supports (font-variation-settings: "wdth" 115) {
  .variable-fonts-support-missing {
    display: none;
  }
}

.grid {
  display: grid;
  grid-column-gap: 10px;
  grid-row-gap: 10px;
  grid-template-columns: repeat(6, 1fr);
}

@media only screen and (min-width: 600px) {
  .grid {
    grid-template-columns: repeat(12, 1fr);
    grid-column-gap: 10px;
    grid-row-gap: 10px;
  }
}

@media only screen and (min-width: 1100px) {
  .grid {
    grid-template-columns: repeat(12, 1fr);
    grid-column-gap: 20px;
    grid-row-gap: 20px;
  }
}

.js-animation-paused, .js-animation-paused * {
  animation-play-state: paused !important;
}

* {
  box-sizing: border-box;
}

body {
  font-family: 'GT Ultra';
  font-weight: 400;
  font-style: normal;
  font-variation-settings: "wght" 400, "slnt" 0, "CNTR" 0;
  background: #000000;
  color: #FFFFFF;
  -webkit-font-smoothing: antialiased;
  font-kerning: normal;
  font-size: 16px;
  font-feature-settings: "kern" 1, "lnum" 1;
  padding: 0;
  position: relative;
  font-display: block;
  overflow-x: hidden;
  font-optical-sizing: none;
}

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

a:hover {
  text-decoration: none;
  text-decoration: underline;
}

.section-bg-white ::selection {
  background: #000000;
  color: #FFFFFF;
  opacity: 1;
  text-shadow: none;
}

.section-bg-black ::selection {
  background: #FFFFFF;
  color: #000000;
  opacity: 1;
  text-shadow: none;
}

nav ::selection {
  background: rgba(0, 0, 0, 0);
  text-shadow: none;
}

[contenteditable]:focus {
  outline: 0px solid transparent;
}

nav {
  position: fixed;
  box-sizing: border-box;
  padding: 10px 10px 5px 10px;
  margin: 0;
  z-index: 1;
  width: calc(100vw - (100vw - 100%));
  background: #000000;
  box-shadow: 0 10px 10px #000000;
  color: #FFFFFF;
}

nav #js-typetester-open {
  grid-column: 5 / 6;
}

nav #link-buy {
  grid-column: 6 / -1;
}

@media only screen and (min-width: 600px) {
  nav {
    padding: 20px 20px 10px 20px;
  }
  nav #js-typetester-open {
    grid-column: 11 / 12;
  }
  nav #link-buy {
    grid-column: 12 / -1;
  }
}

@media only screen and (min-width: 1100px) {
  nav {
    padding: 25px 200px 10px 200px;
    transition: font-variation-settings 0.5s ease-in;
  }
  nav #js-typetester-open {
    grid-column: 9 / 10;
  }
  nav #link-buy {
    grid-column: 11 / 12;
  }
}

nav a:hover,
nav #js-typetester-open:hover {
  text-decoration: none;
  font-variation-settings: "wght" 500, "slnt" 0, "CNTR" 0;
  transition: font-variation-settings 0.75s ease-out;
  font-variation-settings: "wght" 500, "slnt" 0, "CNTR" 0;
  transition: font-variation-settings 0.75s ease-out;
}

nav a:hover span,
nav #js-typetester-open:hover span {
  display: inline-block;
  animation: bounce 0.5s infinite cubic-bezier(0.71, 0, 0.31, 1);
}

@keyframes bounce {
  0% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-3px);
  }
}

nav h1 {
  font-variation-settings: "wght" 300, "slnt" 0, "CNTR" 0;
  font-size: 16px;
}

.relative {
  position: relative;
}

.cursor-pointer {
  cursor: pointer;
}

.no-select {
  user-select: none;
}

h1, .h1 {
  font-family: "GT Ultra";
  line-height: 120%;
  font-variation-settings: "wght" 700, "slnt" 0, "CNTR" 0;
  line-height: 1.0;
  position: relative;
  letter-spacing: -0.02em;
  word-spacing: -0.08em;
}

@media only screen and (min-width: 600px) {
  h1, .h1 {
    letter-spacing: -0.03em;
    word-spacing: -0.08em;
  }
}

@media only screen and (min-width: 1100px) {
  h1, .h1 {
    transition: transform 0.05s, font-variation-settings 0.05s, font-size 0.05s;
  }
}

h2 {
  font-family: "GT Ultra";
  line-height: 120%;
  letter-spacing: -0.008em;
  word-spacing: -0.04em;
  position: relative;
}

#intro-h1-spacer {
  visibility: hidden;
}

#intro h2 {
  font-variation-settings: "wght" 300, "slnt" 0, "CNTR" 0;
}

#process h2 {
  font-variation-settings: "wght" 420, "slnt" 0, "CNTR" 50;
}

h3 {
  font-variation-settings: "wght" 700, "slnt" 0, "CNTR" 0;
  font-size: 4vw;
  line-height: 90%;
  letter-spacing: -0.015em;
}

.text-body, .text-sidebar {
  font-variation-settings: "wght" 300, "slnt" 0, "CNTR" 0;
  font-size: 19px;
  line-height: 22px;
  padding-bottom: 16px;
  letter-spacing: 0.03em;
}

.text-sidebar {
  line-height: 120%;
}

.text-caption, .morph-stations, h5 {
  font-family: "GT Ultra";
  text-transform: uppercase;
  line-height: 120%;
  letter-spacing: 0.035em;
  font-variation-settings: "wght" 300, "slnt" 0, "CNTR" 0;
  font-size: 13px;
  line-height: 120%;
  letter-spacing: 0.035em;
}

@media only screen and (min-width: 600px) {
  .text-caption, .morph-stations, h5 {
    font-size: 14px;
  }
}

@media only screen and (min-width: 1100px) {
  .text-caption, .morph-stations, h5 {
    font-size: 16px;
  }
}

nav .text-caption, nav .morph-stations, nav h5 {
  font-size: 16px;
}

.text-uppercase {
  text-transform: uppercase;
}

.text-italic.text-body, .text-italic.text-sidebar {
  font-variation-settings: "wght" 300, "slnt" 12, "CNTR" 0;
}

section {
  padding: 50px 10px 50px 10px;
  margin: 0;
}

section .full-width {
  grid-column: 1 / -1;
}

section .half-width {
  grid-column: 1 / -1;
}

section .third-width {
  grid-column: 1 / -1;
}

section #morph-full-family .third-width:nth-of-type(1) {
  grid-column: 1 / 3;
}

section #morph-full-family .third-width:nth-of-type(2) {
  grid-column: 3 / 5;
}

section #morph-full-family .third-width:nth-of-type(3) {
  grid-column: 5 / -1;
}

section .text-4of6-alignright {
  grid-column: 1 / -1;
}

section .text-multicol {
  grid-column: 1 / -1;
}

section .text-body.cols-3, section .cols-3.text-sidebar {
  grid-column: 1 / -1;
}

section .column-with-sidebar.sidebar-left .visual-column {
  grid-column: 1 / -1;
}

section .column-with-sidebar.sidebar-left .sidebar {
  grid-column: 1 / -1;
}

section .column-with-sidebar.sidebar-right .visual-column {
  grid-column: 1 / -1;
}

section .column-with-sidebar.sidebar-right .sidebar {
  grid-column: 1 / -1;
}

section .visual-column .morph .morph-stations-3 div:nth-of-type(1) {
  grid-column: 1 / 4;
}

section .visual-column .morph .morph-stations-3 div:nth-of-type(2) {
  grid-column: 4 / 7;
}

section .visual-column .morph .morph-stations-3 div:nth-of-type(3) {
  grid-column: 7 / -1;
}

section .morph-stations.morph-stations-2 div:nth-of-type(1) {
  grid-column: 1 / 6;
}

section .morph-stations.morph-stations-2 div:nth-of-type(2) {
  grid-column: 6 / -1;
}

section .morph-stations.morph-stations-3 div:nth-of-type(1) {
  grid-column: 1 / 3;
}

section .morph-stations.morph-stations-3 div:nth-of-type(2) {
  grid-column: 3 / 5;
}

section .morph-stations.morph-stations-3 div:nth-of-type(3) {
  grid-column: 5 / -1;
}

section .morph-stations.morph-stations-3-of-2 div:nth-of-type(1) {
  grid-column: 1 / 3;
}

section .morph-stations.morph-stations-3-of-2 div:nth-of-type(3) {
  grid-column: 3 / 5;
}

section .morph-stations.morph-stations-3-of-2 div:nth-of-type(5) {
  grid-column: 5 / -1;
}

section .morph-stations.morph-stations-3-of-2 div:nth-of-type(2),
section .morph-stations.morph-stations-3-of-2 div:nth-of-type(4),
section .morph-stations.morph-stations-3-of-2 div:nth-of-type(6) {
  display: none;
}

section .morph-stations.morph-stations-4with3 div:nth-of-type(1) {
  grid-column: 1 / -1;
}

section .morph-stations.morph-stations-4with3 div:nth-of-type(2),
section .morph-stations.morph-stations-4with3 div:nth-of-type(3),
section .morph-stations.morph-stations-4with3 div:nth-of-type(4) {
  display: none;
}

section #anim-designspace {
  grid-column: 1 / -1;
}

section #anim-drawing-a {
  grid-column: 1 / -1;
}

section#credits h3 {
  grid-column: 1 / -1;
}

section#credits p {
  grid-column: 1 / -1;
}

section#credits ul {
  grid-column: 1 / -1;
}

@media only screen and (min-width: 600px) {
  section {
    padding: 50px 20px 50px 20px;
  }
  section .half-width:nth-of-type(1) {
    grid-column: 1 / 7;
  }
  section .half-width:nth-of-type(2) {
    grid-column: 7 / -1;
  }
  section .third-width:nth-of-type(1) {
    grid-column: 1 / 5;
  }
  section .third-width:nth-of-type(2) {
    grid-column: 5 / 9;
  }
  section .third-width:nth-of-type(3) {
    grid-column: 9 / -1;
  }
  section #morph-full-family .third-width:nth-of-type(1) {
    grid-column: 1 / 5;
  }
  section #morph-full-family .third-width:nth-of-type(2) {
    grid-column: 5 / 9;
  }
  section #morph-full-family .third-width:nth-of-type(3) {
    grid-column: 9 / -1;
  }
  section .text-4of6-alignright {
    grid-column: 3 / -1;
  }
  section .text-multicol .cols-3:nth-of-type(1) {
    grid-column: 1 / 5;
  }
  section .text-multicol .cols-3:nth-of-type(2) {
    grid-column: 5 / 9;
  }
  section .text-multicol .cols-3:nth-of-type(3) {
    grid-column: 9 / -1;
  }
  section .column-with-sidebar.sidebar-left .visual-column {
    grid-column: 5 / -1;
  }
  section .column-with-sidebar.sidebar-left .sidebar {
    grid-column: 1 / 5;
  }
  section .column-with-sidebar.sidebar-left .visual-column-anim-right {
    grid-column: 6 / -1;
  }
  section .column-with-sidebar.sidebar-right .visual-column {
    grid-column: 1 / 9;
  }
  section .column-with-sidebar.sidebar-right .sidebar {
    grid-column: 9 / -1;
  }
  section .morph-stations.morph-stations-2 div:nth-of-type(1) {
    grid-column: 1 / 5;
  }
  section .morph-stations.morph-stations-2 div:nth-of-type(2) {
    grid-column: 5 / -1;
  }
  section .morph-stations.morph-stations-2-plus-2 div:nth-of-type(1) {
    grid-column: 1 / 5;
  }
  section .morph-stations.morph-stations-2-plus-2 div:nth-of-type(2) {
    grid-column: 5 / 7;
  }
  section .morph-stations.morph-stations-2-plus-2 div:nth-of-type(3) {
    grid-column: 7 / 10;
  }
  section .morph-stations.morph-stations-2-plus-2 div:nth-of-type(4) {
    grid-column: 11 / -1;
  }
  section .morph-stations.morph-stations-3 div:nth-of-type(1) {
    grid-column: 1 / 5;
  }
  section .morph-stations.morph-stations-3 div:nth-of-type(2) {
    grid-column: 5 / 9;
  }
  section .morph-stations.morph-stations-3 div:nth-of-type(3) {
    grid-column: 9 / -1;
  }
  section .morph-stations.morph-stations-3-of-2 div:nth-of-type(1) {
    grid-column: 1 / 3;
  }
  section .morph-stations.morph-stations-3-of-2 div:nth-of-type(2) {
    grid-column: 3 / 5;
  }
  section .morph-stations.morph-stations-3-of-2 div:nth-of-type(3) {
    grid-column: 5 / 7;
  }
  section .morph-stations.morph-stations-3-of-2 div:nth-of-type(4) {
    grid-column: 7 / 9;
  }
  section .morph-stations.morph-stations-3-of-2 div:nth-of-type(5) {
    grid-column: 9 / 11;
  }
  section .morph-stations.morph-stations-3-of-2 div:nth-of-type(6) {
    grid-column: 11 / -1;
  }
  section .morph-stations.morph-stations-3-of-2 div:nth-of-type(2),
  section .morph-stations.morph-stations-3-of-2 div:nth-of-type(4),
  section .morph-stations.morph-stations-3-of-2 div:nth-of-type(6) {
    display: inherit;
  }
  section .morph-stations.morph-stations-4with3 div:nth-of-type(1) {
    grid-column: 1 / 5;
  }
  section .morph-stations.morph-stations-4with3 div:nth-of-type(2) {
    grid-column: 5 / 7;
  }
  section .morph-stations.morph-stations-4with3 div:nth-of-type(3) {
    grid-column: 7 / 9;
  }
  section .morph-stations.morph-stations-4with3 div:nth-of-type(4) {
    grid-column: 9 / 11;
  }
  section .morph-stations.morph-stations-4with3 div:nth-of-type(2),
  section .morph-stations.morph-stations-4with3 div:nth-of-type(3),
  section .morph-stations.morph-stations-4with3 div:nth-of-type(4) {
    display: grid;
  }
  section #anim-designspace lottie-player {
    grid-column: 4 / 10;
  }
  section #anim-drawing-a {
    grid-column: 3 / 11;
  }
  section#credits h3 {
    grid-column: 1 / 5;
  }
  section#credits p {
    grid-column: 5 / -1;
  }
  section#credits ul {
    grid-column: 5 / -1;
  }
}

@media only screen and (min-width: 1100px) {
  section {
    padding: 50px 200px 50px 200px;
  }
  section .text-4of6-alignright {
    grid-column: 5 / -1;
  }
  section#credits h3 {
    grid-column: 1 / 7;
  }
  section#credits p {
    grid-column: 7 / -1;
  }
  section#credits ul {
    grid-column: 7 / -1;
  }
  section .column-with-sidebar.sidebar-left .visual-column {
    grid-column: 4 / -1;
  }
  section .column-with-sidebar.sidebar-left .sidebar {
    grid-column: 1 / 4;
  }
  section .column-with-sidebar.sidebar-left .visual-column-anim-right {
    grid-column: 5 / -1;
  }
  section .column-with-sidebar.sidebar-right .visual-column {
    grid-column: 1 / 10;
  }
  section .column-with-sidebar.sidebar-right .sidebar {
    grid-column: 10 / -1;
  }
}

@media only screen and (min-width: 1460px) {
  section .column-with-sidebar.sidebar-left .visual-column {
    grid-column: 5 / -1;
  }
  section .column-with-sidebar.sidebar-left .sidebar {
    grid-column: 1 / 5;
  }
  section .column-with-sidebar.sidebar-left .visual-column-anim-right {
    grid-column: 5 / -1;
  }
  section .column-with-sidebar.sidebar-right .visual-column {
    grid-column: 1 / 9;
  }
  section .column-with-sidebar.sidebar-right .sidebar {
    grid-column: 9 / -1;
  }
}

.section-bg-black {
  background: #000000;
  color: #FFFFFF;
}

.section-bg-white {
  background: #FFFFFF;
  color: #000000;
}

@media only screen and (min-width: 600px) {
  .sidebar-text-col {
    position: sticky;
    top: 65px;
  }
}

@media only screen and (min-width: 600px) {
  .column-with-sidebar.sidebar-left p {
    padding-right: 25px;
  }
}

@media only screen and (min-width: 1100px) {
  .column-with-sidebar.sidebar-left p {
    padding-right: 50px;
  }
}

@media only screen and (min-width: 600px) {
  .column-with-sidebar.sidebar-right .visual-column {
    padding-right: 25px;
  }
}

@media only screen and (min-width: 1100px) {
  .column-with-sidebar.sidebar-right .visual-column {
    padding-right: 50px;
  }
}

@media only screen and (max-width: 599px) {
  .visual-column-anim-right {
    order: -1;
  }
}

.visual-column .morph-stations,
.visual-column .morph {
  grid-template-columns: repeat(9, 1fr);
}

.visual-column img {
  width: 100%;
}

#morph-x-axis-contrast {
  cursor: ew-resize;
  font-feature-settings: "kern" 1, "liga" 1, "tnum" 1;
}

@media only screen and (max-width: 599px) {
  #morph-x-axis-contrast .js-size-label {
    display: none;
  }
  #morph-x-axis-contrast .third-width:nth-of-type(3n+2) {
    padding-top: 20px;
  }
}

#morph-x-axis-contrast .third-width:nth-of-type(3n+1) {
  font-size: 52.5vw;
  line-height: 75%;
  letter-spacing: -0.05em;
}

@media only screen and (min-width: 600px) {
  #morph-x-axis-contrast .third-width:nth-of-type(3n+1) {
    font-size: 15vw;
    line-height: 85%;
    letter-spacing: -0.04em;
  }
}

@media only screen and (min-width: 1100px) {
  #morph-x-axis-contrast .third-width:nth-of-type(3n+1) {
    font-size: 13.1vw;
    line-height: 86%;
    letter-spacing: -0.04em;
  }
}

#morph-x-axis-contrast .third-width:nth-of-type(3n+1):not(.text-caption):not(.morph-stations):not(h5) {
  margin-left: -0.03em;
  text-indent: 0.03em;
}

#morph-x-axis-contrast .third-width:nth-of-type(3n+2) {
  font-size: 13vw;
  line-height: 100%;
  letter-spacing: -0.02em;
}

@media only screen and (max-width: 599px) {
  #morph-x-axis-contrast .third-width:nth-of-type(3n+2) {
    margin-bottom: 30px;
  }
}

@media only screen and (min-width: 600px) {
  #morph-x-axis-contrast .third-width:nth-of-type(3n+2) {
    font-size: 3.9vw;
    line-height: 105%;
    letter-spacing: -0.02em;
  }
}

@media only screen and (min-width: 1100px) {
  #morph-x-axis-contrast .third-width:nth-of-type(3n+2) {
    font-size: 3.25vw;
    line-height: 107%;
    letter-spacing: -0.02em;
  }
}

#morph-x-axis-contrast .third-width:nth-of-type(3n+3) {
  display: none;
}

@media only screen and (min-width: 600px) {
  #morph-x-axis-contrast .third-width:nth-of-type(3n+3) {
    display: block;
    font-size: 1.7vw;
    line-height: 120%;
    letter-spacing: 0.02em;
  }
}

@media only screen and (min-width: 1100px) {
  #morph-x-axis-contrast .third-width:nth-of-type(3n+3) {
    font-size: 1.41vw;
    line-height: 121%;
    letter-spacing: 0.02em;
  }
  #morph-x-axis-contrast .third-width:nth-of-type(3n+3) .text-caption, #morph-x-axis-contrast .third-width:nth-of-type(3n+3) .morph-stations, #morph-x-axis-contrast .third-width:nth-of-type(3n+3) h5 {
    margin-bottom: 2px;
  }
}

#morph-x-axis-contrast .third-width .text-caption, #morph-x-axis-contrast .third-width .morph-stations, #morph-x-axis-contrast .third-width h5 {
  padding-bottom: 15px;
}

#morph-x-axis-contrast .family-overview-ultra {
  font-family: "GT Ultra Ultra";
  font-variation-settings: "CNTR" 0;
}

#morph-x-axis-contrast .family-overview-black {
  font-variation-settings: "wght" 900, "slnt" 0, "CNTR" 0;
}

#morph-x-axis-contrast .family-overview-black .text-italic {
  font-variation-settings: "wght" 900, "slnt" 12, "CNTR" 0;
}

#morph-x-axis-contrast .family-overview-bold {
  font-variation-settings: "wght" 700, "slnt" 0, "CNTR" 0;
}

#morph-x-axis-contrast .family-overview-bold .text-italic {
  font-variation-settings: "wght" 700, "slnt" 12, "CNTR" 0;
}

#morph-x-axis-contrast .family-overview-regular {
  font-variation-settings: "wght" 400, "slnt" 0, "CNTR" 0;
}

#morph-x-axis-contrast .family-overview-regular .text-italic {
  font-variation-settings: "wght" 400, "slnt" 12, "CNTR" 0;
}

#morph-x-axis-contrast .family-overview-light {
  font-variation-settings: "wght" 300, "slnt" 0, "CNTR" 0;
}

#morph-x-axis-contrast .family-overview-light .text-italic {
  font-variation-settings: "wght" 300, "slnt" 12, "CNTR" 0;
}

#morph-x-axis-contrast .family-overview-thin {
  font-variation-settings: "wght" 100, "slnt" 0, "CNTR" 0;
}

#morph-x-axis-contrast .family-overview-thin .text-italic {
  font-variation-settings: "wght" 100, "slnt" 12, "CNTR" 0;
}

#morph-x-axis-contrast .family-overview-ultra-ultra-var .morph-stations,
#morph-x-axis-contrast .family-overview-ultra-var .morph-stations {
  padding-bottom: 20px;
}

#morph-x-axis-contrast .family-overview-ultra-ultra-var .morph-stations div,
#morph-x-axis-contrast .family-overview-ultra-var .morph-stations div {
  display: flex !important;
  flex-direction: row;
}

#morph-x-axis-contrast .family-overview-ultra-ultra-var .morph-stations div span,
#morph-x-axis-contrast .family-overview-ultra-var .morph-stations div span {
  padding-right: 10px;
}

#morph-x-axis-contrast .family-overview-ultra-ultra-var #morph-ultra-ultra-var,
#morph-x-axis-contrast .family-overview-ultra-var #morph-ultra-ultra-var {
  font-family: "GT Ultra Ultra";
  animation-duration: 6s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-direction: normal;
  animation-name: morph-ultra-ultra-var;
  font-size: 37.5vw;
  line-height: 80%;
  letter-spacing: -0.02em;
  padding-bottom: 15px;
}

@media only screen and (min-width: 600px) {
  #morph-x-axis-contrast .family-overview-ultra-ultra-var #morph-ultra-ultra-var,
  #morph-x-axis-contrast .family-overview-ultra-var #morph-ultra-ultra-var {
    font-size: 15.5vw;
    line-height: 60%;
    letter-spacing: -0.02em;
    padding-bottom: 15px;
  }
}

@media only screen and (min-width: 1100px) {
  #morph-x-axis-contrast .family-overview-ultra-ultra-var #morph-ultra-ultra-var,
  #morph-x-axis-contrast .family-overview-ultra-var #morph-ultra-ultra-var {
    font-size: 11.15vw;
    line-height: 75%;
    letter-spacing: -0.02em;
    padding-bottom: 20px;
  }
}

#morph-x-axis-contrast .family-overview-ultra-ultra-var #morph-ultra-var,
#morph-x-axis-contrast .family-overview-ultra-var #morph-ultra-var {
  animation-duration: 6s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-direction: normal;
  animation-name: morph-ultra-var;
  font-size: 35vw;
  line-height: 80%;
  letter-spacing: -0.02em;
  padding-bottom: 15px;
}

@media only screen and (max-width: 599px) {
  #morph-x-axis-contrast .family-overview-ultra-ultra-var #morph-ultra-var span,
  #morph-x-axis-contrast .family-overview-ultra-var #morph-ultra-var span {
    display: none;
  }
}

@media only screen and (min-width: 600px) {
  #morph-x-axis-contrast .family-overview-ultra-ultra-var #morph-ultra-var,
  #morph-x-axis-contrast .family-overview-ultra-var #morph-ultra-var {
    font-size: 15.5vw;
    line-height: 85%;
    letter-spacing: -0.02em;
    padding-bottom: 15px;
  }
}

@media only screen and (min-width: 1100px) {
  #morph-x-axis-contrast .family-overview-ultra-ultra-var #morph-ultra-var,
  #morph-x-axis-contrast .family-overview-ultra-var #morph-ultra-var {
    font-size: 12.75vw;
    line-height: 75%;
    letter-spacing: -0.02em;
    padding-bottom: 20px;
  }
}

@keyframes morph-ultra-ultra-var {
  0% {
    font-variation-settings: "CNTR" 0;
  }
  33% {
    font-variation-settings: "CNTR" 50;
  }
  66% {
    font-variation-settings: "CNTR" 100;
  }
  100% {
    font-variation-settings: "CNTR" 0;
  }
}

@keyframes morph-ultra-var {
  0% {
    font-variation-settings: "wght" 100, "slnt" 0, "CNTR" 0;
  }
  25% {
    font-variation-settings: "wght" 900, "slnt" 0, "CNTR" 0;
  }
  33% {
    font-variation-settings: "wght" 400, "slnt" 0, "CNTR" 0;
  }
  58% {
    font-variation-settings: "wght" 400, "slnt" 0, "CNTR" 100;
  }
  66% {
    font-variation-settings: "wght" 400, "slnt" 0, "CNTR" 100;
  }
  92% {
    font-variation-settings: "wght" 400, "slnt" 12, "CNTR" 0;
  }
  100% {
    font-variation-settings: "wght" 100, "slnt" 0, "CNTR" 0;
  }
}

#morph-generic-sans-and-serif-container-wrapper {
  position: relative;
}

@media only screen and (min-height: 1000px) {
  #morph-generic-sans-and-serif-container-wrapper {
    margin-bottom: 20vh;
  }
}

#morph-generic-sans-and-serif-container {
  height: 200vh;
}

#morph-generic-sans-and-serif {
  position: sticky;
  height: calc(100vh - 80px - 50px);
  grid-template-rows: min-content 1fr;
  top: 50px;
}

@media only screen and (min-width: 600px) {
  #morph-generic-sans-and-serif {
    top: 80px;
  }
}

@media only screen and (max-width: 599px) {
  .morph-generic-sans-serif-header-mobile {
    display: grid;
  }
}

@media only screen and (min-width: 600px) {
  .morph-generic-sans-serif-header-mobile {
    display: none;
  }
}

@media only screen and (max-width: 599px) {
  .morph-generic-sans-serif-header-desktop {
    display: none;
  }
}

@media only screen and (min-width: 600px) {
  .morph-generic-sans-serif-header-desktop {
    display: grid;
  }
}

#morph-generic-sans-and-serif .specimen--tablet, #morph-generic-sans-and-serif .specimen--mobile {
  grid-column: span 6;
}

#morph-generic-sans-and-serif .specimen--tablet .sans-specimen, #morph-generic-sans-and-serif .specimen--tablet .serif-specimen {
  position: absolute;
  bottom: 0;
}

@media only screen and (max-width: 599px) {
  #morph-generic-sans-and-serif .specimen--tablet {
    display: none;
  }
}

#morph-generic-sans-and-serif .specimen--mobile {
  position: absolute;
  bottom: 0;
}

@media only screen and (min-width: 600px) {
  #morph-generic-sans-and-serif .specimen--mobile {
    display: none;
  }
}

#morph-generic-sans-and-serif .specimen--mobile .sans-specimen, #morph-generic-sans-and-serif .specimen--mobile .serif-specimen {
  font-size: 40vw;
  line-height: 0.85;
}

.grid-2 div:nth-of-type(1) {
  grid-column: 1 / 4;
}

.grid-2 div:nth-of-type(2) {
  grid-column: 5 / -1;
}

.grid-2-plus-2 div:nth-of-type(1) {
  grid-column: 1 / 5;
}

.grid-2-plus-2 div:nth-of-type(2) {
  grid-column: 5 / 7;
}

.grid-2-plus-2 div:nth-of-type(3) {
  grid-column: 7 / 10;
}

.grid-2-plus-2 div:nth-of-type(4) {
  grid-column: 11 / -1;
}

/* CREDIT SECTION */
@media only screen and (max-width: 599px) {
  #credits h3 {
    font-size: 12vw;
  }
}

#credits p a {
  font-variation-settings: "wght" 400, "slnt" 0, "CNTR" 0;
  transition: font-variation-settings 0.15s ease-in;
  text-decoration: underline;
  text-underline-offset: 2px;
}

#credits p a:hover {
  font-variation-settings: "wght" 550, "slnt" 0, "CNTR" 0;
  transition: font-variation-settings 0.15s ease-out;
  text-decoration: underline;
}

#minisite-links {
  display: block;
  margin-bottom: 30px;
}

@media only screen and (max-width: 599px) {
  #minisite-links {
    margin-top: 30px;
  }
}

#minisite-links li {
  position: relative;
  display: block;
  width: 100%;
  height: 70px;
}

@media only screen and (min-width: 600px) {
  #minisite-links li {
    height: 78px;
  }
}

@media only screen and (min-width: 1100px) {
  #minisite-links li {
    height: 100px;
  }
}

#minisite-links li img {
  position: absolute;
  top: 0;
  left: 0;
}

#minisite-links li .minisite-link {
  opacity: 1;
  max-width: 95%;
}

@media only screen and (min-width: 600px) {
  #minisite-links li .minisite-link {
    max-width: 80%;
  }
}

#minisite-links li .minisite-link-hover {
  opacity: 0;
  max-width: 95%;
}

@media only screen and (min-width: 600px) {
  #minisite-links li .minisite-link-hover {
    max-width: 80%;
  }
}

#minisite-links li:hover .minisite-link {
  opacity: 0;
  max-width: 95%;
}

@media only screen and (min-width: 600px) {
  #minisite-links li:hover .minisite-link {
    max-width: 80%;
  }
}

#minisite-links li:hover .minisite-link-hover {
  opacity: 1;
  max-width: 95%;
}

@media only screen and (min-width: 600px) {
  #minisite-links li:hover .minisite-link-hover {
    max-width: 80%;
  }
}

.morph span {
  display: block;
  width: 100%;
}

.morph-sample-size-preview {
  font-size: 15vw;
  line-height: 90%;
}

@media only screen and (min-width: 600px) {
  .morph-sample-size-preview {
    font-size: 14vw;
    line-height: 87%;
  }
}

@media only screen and (min-width: 1100px) {
  .morph-sample-size-preview {
    font-size: 10vw;
    line-height: 87%;
  }
}

.morph-sample-size-sl, #morph-full-family h4 span {
  font-size: 8vw;
  line-height: 100%;
}

@media only screen and (min-width: 600px) {
  .morph-sample-size-sl, #morph-full-family h4 span {
    font-size: 8vw;
    line-height: 100%;
  }
}

@media only screen and (min-width: 1100px) {
  .morph-sample-size-sl, #morph-full-family h4 span {
    font-size: 5.75vw;
    line-height: 100%;
  }
}

.morph-sample-size-l {
  font-size: 18vw;
  line-height: 100%;
}

@media only screen and (min-width: 600px) {
  .morph-sample-size-l {
    font-size: 5.75vw;
    line-height: 100%;
  }
}

.morph-sample-size-xml {
  font-size: 15vw;
  line-height: 85%;
}

@media only screen and (min-width: 600px) {
  .morph-sample-size-xml {
    font-size: 17.5vw;
    line-height: 85%;
  }
}

@media only screen and (min-width: 1100px) {
  .morph-sample-size-xml {
    font-size: 14vw;
    line-height: 85%;
  }
}

.morph-sample-size-xmxl {
  font-size: 18.5vw;
  line-height: 85%;
}

@media only screen and (min-width: 600px) {
  .morph-sample-size-xmxl {
    font-size: 17.5vw;
    line-height: 85%;
  }
}

@media only screen and (min-width: 1100px) {
  .morph-sample-size-xmxl {
    font-size: 14vw;
    line-height: 85%;
  }
}

.morph-sample-size-xl {
  font-size: 24vw;
  line-height: 85%;
}

@media only screen and (min-width: 600px) {
  .morph-sample-size-xl {
    font-size: 15.25vw;
    line-height: 85%;
  }
}

@media only screen and (min-width: 1100px) {
  .morph-sample-size-xl {
    font-size: 14vw;
    line-height: 85%;
  }
}

.morph-sample-size-xxl, #morph-spike,
#morph-raged,
#morph-scarf {
  font-size: 30vw;
  line-height: 60%;
  margin-bottom: 0.5em;
}

@media only screen and (min-width: 600px) {
  .morph-sample-size-xxl, #morph-spike,
  #morph-raged,
  #morph-scarf {
    font-size: 15vw;
    line-height: 85%;
    margin-bottom: 0.4em;
  }
}

@media only screen and (min-width: 1100px) {
  .morph-sample-size-xxl, #morph-spike,
  #morph-raged,
  #morph-scarf {
    margin-bottom: 0.35em;
  }
}

.morph-sample-size-xxxl {
  font-size: 35vw;
  line-height: 85%;
}

@media only screen and (min-width: 600px) {
  .morph-sample-size-xxxl {
    font-size: 20vw;
    line-height: 85%;
  }
}

.morph-stations {
  padding-bottom: 15px;
}

@media only screen and (min-width: 600px) {
  .morph-stations {
    padding-bottom: 30px;
  }
}

.anim--1s {
  animation-duration: 1s;
}

.anim--2s {
  animation-duration: 2s;
}

.anim--3s {
  animation-duration: 3s;
}

.anim--4s {
  animation-duration: 4s;
}

.anim--5s {
  animation-duration: 5s;
}

.anim--6s {
  animation-duration: 6s;
}

.anim--7s {
  animation-duration: 7s;
}

.anim--8s {
  animation-duration: 8s;
}

.ms--white {
  background: linear-gradient(90deg, #666660 0%, #666660 20%, #FFFFFF 40%, #FFFFFF 60%, #666660 80%, #666660 100%);
  background-size: 500% 100%;
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
}

.ms--black {
  background: linear-gradient(90deg, #CBCCBE 0%, #CBCCBE 20%, #000000 40%, #000000 60%, #CBCCBE 80%, #CBCCBE 100%);
  background-size: 500% 100%;
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
}

.ms--loop--2-1 {
  animation-name: morph-stations--loop--2-1;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-direction: normal;
}

.ms--loop--2-2 {
  animation-name: morph-stations--loop--2-2;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-direction: normal;
}

.ms--pingpong--2-1 {
  animation-name: morph-stations--pingpong--2-1;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-direction: alternate;
}

.ms--pingpong--2-2 {
  animation-name: morph-stations--pingpong--2-2;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-direction: alternate;
}

.ms--loop--3-1 {
  animation-name: morph-stations--loop--3-1;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-direction: normal;
}

.ms--loop--3-2 {
  animation-name: morph-stations--loop--3-2;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-direction: normal;
}

.ms--loop--3-3 {
  animation-name: morph-stations--loop--3-3;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-direction: normal;
}

.ms--pingpong--3-1 {
  animation-name: morph-stations--pingpong--3-1;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-direction: alternate;
}

.ms--pingpong--3-2 {
  animation-name: morph-stations--pingpong--3-2;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-direction: alternate;
}

.ms--pingpong--3-3 {
  animation-name: morph-stations--pingpong--3-3;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-direction: alternate;
}

@keyframes morph-stations--loop--2-1 {
  0% {
    background-position-x: 50%;
  }
  40% {
    background-position-x: 50%;
  }
  50% {
    background-position-x: 0%;
  }
  90% {
    background-position-x: 0%;
  }
  90.00001% {
    background-position-x: 100%;
  }
  100% {
    background-position-x: 50%;
  }
}

@keyframes morph-stations--loop--2-2 {
  0% {
    background-position-x: 100%;
  }
  40% {
    background-position-x: 100%;
  }
  50% {
    background-position-x: 50%;
  }
  90% {
    background-position-x: 50%;
  }
  100% {
    background-position-x: 0%;
  }
}

@keyframes morph-stations--pingpong--2-1 {
  0% {
    background-position-x: 50%;
  }
  22.5% {
    background-position-x: 50%;
  }
  77.5% {
    background-position-x: 0%;
  }
  100% {
    background-position-x: 0%;
  }
}

@keyframes morph-stations--pingpong--2-2 {
  0% {
    background-position-x: 100%;
  }
  22.5% {
    background-position-x: 100%;
  }
  77.5% {
    background-position-x: 50%;
  }
  100% {
    background-position-x: 50%;
  }
}

@keyframes morph-stations--loop--3-1 {
  0% {
    background-position-x: 50%;
  }
  23.33% {
    background-position-x: 50%;
  }
  33.33% {
    background-position-x: 0%;
  }
  90% {
    background-position-x: 0%;
  }
  90.00001% {
    background-position-x: 100%;
  }
  100% {
    background-position-x: 50%;
  }
}

@keyframes morph-stations--loop--3-2 {
  0% {
    background-position-x: 100%;
  }
  23.33% {
    background-position-x: 100%;
  }
  33.33% {
    background-position-x: 50%;
  }
  56.66% {
    background-position-x: 50%;
  }
  66.66% {
    background-position-x: 0%;
  }
  100% {
    background-position-x: 0%;
  }
}

@keyframes morph-stations--loop--3-3 {
  0% {
    background-position-x: 100%;
  }
  56.66% {
    background-position-x: 100%;
  }
  66.66% {
    background-position-x: 50%;
  }
  90% {
    background-position-x: 50%;
  }
  100% {
    background-position-x: 0%;
  }
}

@keyframes morph-stations--pingpong--3-1 {
  0% {
    background-position-x: 50%;
  }
  20% {
    background-position-x: 50%;
  }
  30% {
    background-position-x: 0%;
  }
  100% {
    background-position-x: 0%;
  }
}

@keyframes morph-stations--pingpong--3-2 {
  0% {
    background-position-x: 100%;
  }
  20% {
    background-position-x: 100%;
  }
  30% {
    background-position-x: 50%;
  }
  70% {
    background-position-x: 50%;
  }
  80% {
    background-position-x: 0%;
  }
  100% {
    background-position-x: 0%;
  }
}

@keyframes morph-stations--pingpong--3-3 {
  0% {
    background-position-x: 100%;
  }
  70% {
    background-position-x: 100%;
  }
  80% {
    background-position-x: 50%;
  }
  100% {
    background-position-x: 50%;
  }
}

#morph-all3axes {
  animation-duration: 6s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-direction: normal;
  animation-name: morph-all3axes;
}

@keyframes morph-all3axes {
  0% {
    font-variation-settings: "wght" 100, "slnt" 0, "CNTR" 0;
  }
  25% {
    font-variation-settings: "wght" 900, "slnt" 0, "CNTR" 0;
  }
  33% {
    font-variation-settings: "wght" 400, "slnt" 0, "CNTR" 0;
  }
  58% {
    font-variation-settings: "wght" 400, "slnt" 0, "CNTR" 100;
  }
  66% {
    font-variation-settings: "wght" 400, "slnt" 0, "CNTR" 100;
  }
  92% {
    font-variation-settings: "wght" 400, "slnt" 12, "CNTR" 0;
  }
  100% {
    font-variation-settings: "wght" 100, "slnt" 0, "CNTR" 0;
  }
}

#morph-generic-sans-and-serif {
  font-family: "Sans-Serif VAR";
}

/* SPIKE, RAGED, SCARF */
#morph-spike,
#morph-raged,
#morph-scarf {
  letter-spacing: -0.035em;
  animation-duration: 2s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-direction: alternate;
  animation-name: morph-spike;
}

#morph-spike .grid,
#morph-raged .grid,
#morph-scarf .grid {
  grid-row-gap: 10px;
}

#morph-spike .morph-stations,
#morph-raged .morph-stations,
#morph-scarf .morph-stations {
  padding-bottom: 20px;
}

@media only screen and (min-width: 600px) {
  #morph-spike .morph-stations,
  #morph-raged .morph-stations,
  #morph-scarf .morph-stations {
    padding-bottom: 10px;
  }
}

#morph-spike.morph-sample-size-xxl, #morph-spike,
#morph-raged.morph-sample-size-xxl,
#morph-raged,
#morph-scarf.morph-sample-size-xxl,
#morph-scarf {
  margin-bottom: 0.35em;
}

@media only screen and (min-width: 600px) {
  #morph-spike.morph-sample-size-xxl, #morph-spike,
  #morph-raged.morph-sample-size-xxl,
  #morph-raged,
  #morph-scarf.morph-sample-size-xxl,
  #morph-scarf {
    margin-bottom: 0.25em;
  }
}

@media only screen and (min-width: 1100px) {
  #morph-spike.morph-sample-size-xxl, #morph-spike,
  #morph-raged.morph-sample-size-xxl,
  #morph-raged,
  #morph-scarf.morph-sample-size-xxl,
  #morph-scarf {
    margin-bottom: 0.2em;
  }
}

@media only screen and (min-width: 600px) {
  #morph-spike,
  #morph-raged,
  #morph-scarf {
    font-size: 20vw;
    line-height: 88%;
  }
}

@media only screen and (min-width: 1100px) {
  #morph-spike,
  #morph-raged,
  #morph-scarf {
    font-size: 17vw;
  }
}

#morph-spike {
  font-family: "Spike VAR";
}

#morph-raged {
  font-family: "Ragged VAR";
}

#morph-scarf {
  font-family: "Scarf VAR";
}

@keyframes morph-spike {
  0% {
    font-variation-settings: "wght" 100;
  }
  22.5% {
    font-variation-settings: "wght" 100;
  }
  77.5% {
    font-variation-settings: "wght" 0;
  }
  100% {
    font-variation-settings: "wght" 0;
  }
}

/* CALLIGRAPHY */
#morph-calligraphy {
  animation-duration: 4s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-direction: alternate;
  animation-name: morph-calligraphy;
  font-family: "Calligraphy VAR";
}

#morph-calligraphy .morph-stations div label {
  display: block;
}

@keyframes morph-calligraphy {
  0% {
    font-variation-settings: "wght" 0;
  }
  20% {
    font-variation-settings: "wght" 0;
  }
  30% {
    font-variation-settings: "wght" 100;
  }
  70% {
    font-variation-settings: "wght" 100;
  }
  80% {
    font-variation-settings: "wght" 200;
  }
  100% {
    font-variation-settings: "wght" 200;
  }
}

/* CONTRAST */
#morph-axis-contrast h4 {
  animation-duration: 4s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-direction: normal;
  line-height: 80%;
  letter-spacing: -0.03em;
}

#morph-axis-contrast h4.weight-100 {
  animation-name: morph-axis-contrast-100;
}

#morph-axis-contrast h4.weight-300 {
  animation-name: morph-axis-contrast-300;
}

#morph-axis-contrast h4.weight-400 {
  animation-name: morph-axis-contrast-400;
}

#morph-axis-contrast h4.weight-700 {
  animation-name: morph-axis-contrast-700;
}

#morph-axis-contrast h4.weight-900 {
  animation-name: morph-axis-contrast-900;
}

@keyframes morph-axis-contrast-100 {
  0% {
    font-variation-settings: "wght" 100, "slnt" 0, "CNTR" 0;
  }
  23.33% {
    font-variation-settings: "wght" 100, "slnt" 0, "CNTR" 0;
  }
  33.33% {
    font-variation-settings: "wght" 100, "slnt" 0, "CNTR" 50;
  }
  56.66% {
    font-variation-settings: "wght" 100, "slnt" 0, "CNTR" 50;
  }
  66.66% {
    font-variation-settings: "wght" 100, "slnt" 0, "CNTR" 100;
  }
  90% {
    font-variation-settings: "wght" 100, "slnt" 0, "CNTR" 100;
  }
  100% {
    font-variation-settings: "wght" 100, "slnt" 0, "CNTR" 0;
  }
}

@keyframes morph-axis-contrast-300 {
  0% {
    font-variation-settings: "wght" 300, "slnt" 0, "CNTR" 0;
  }
  23.33% {
    font-variation-settings: "wght" 300, "slnt" 0, "CNTR" 0;
  }
  33.33% {
    font-variation-settings: "wght" 300, "slnt" 0, "CNTR" 50;
  }
  56.66% {
    font-variation-settings: "wght" 300, "slnt" 0, "CNTR" 50;
  }
  66.66% {
    font-variation-settings: "wght" 300, "slnt" 0, "CNTR" 100;
  }
  90% {
    font-variation-settings: "wght" 300, "slnt" 0, "CNTR" 100;
  }
  100% {
    font-variation-settings: "wght" 300, "slnt" 0, "CNTR" 0;
  }
}

@keyframes morph-axis-contrast-400 {
  0% {
    font-variation-settings: "wght" 400, "slnt" 0, "CNTR" 0;
  }
  23.33% {
    font-variation-settings: "wght" 400, "slnt" 0, "CNTR" 0;
  }
  33.33% {
    font-variation-settings: "wght" 400, "slnt" 0, "CNTR" 50;
  }
  56.66% {
    font-variation-settings: "wght" 400, "slnt" 0, "CNTR" 50;
  }
  66.66% {
    font-variation-settings: "wght" 400, "slnt" 0, "CNTR" 100;
  }
  90% {
    font-variation-settings: "wght" 400, "slnt" 0, "CNTR" 100;
  }
  100% {
    font-variation-settings: "wght" 400, "slnt" 0, "CNTR" 0;
  }
}

@keyframes morph-axis-contrast-700 {
  0% {
    font-variation-settings: "wght" 700, "slnt" 0, "CNTR" 0;
  }
  23.33% {
    font-variation-settings: "wght" 700, "slnt" 0, "CNTR" 0;
  }
  33.33% {
    font-variation-settings: "wght" 700, "slnt" 0, "CNTR" 50;
  }
  56.66% {
    font-variation-settings: "wght" 700, "slnt" 0, "CNTR" 50;
  }
  66.66% {
    font-variation-settings: "wght" 700, "slnt" 0, "CNTR" 100;
  }
  90% {
    font-variation-settings: "wght" 700, "slnt" 0, "CNTR" 100;
  }
  100% {
    font-variation-settings: "wght" 700, "slnt" 0, "CNTR" 0;
  }
}

@keyframes morph-axis-contrast-900 {
  0% {
    font-variation-settings: "wght" 900, "slnt" 0, "CNTR" 0;
  }
  23.33% {
    font-variation-settings: "wght" 900, "slnt" 0, "CNTR" 0;
  }
  33.33% {
    font-variation-settings: "wght" 900, "slnt" 0, "CNTR" 50;
  }
  56.66% {
    font-variation-settings: "wght" 900, "slnt" 0, "CNTR" 50;
  }
  66.66% {
    font-variation-settings: "wght" 900, "slnt" 0, "CNTR" 100;
  }
  90% {
    font-variation-settings: "wght" 900, "slnt" 0, "CNTR" 100;
  }
  100% {
    font-variation-settings: "wght" 900, "slnt" 0, "CNTR" 0;
  }
}

/* ITALIC */
#morph-axis-italic h4 {
  animation-duration: 8s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-direction: normal;
  line-height: 80%;
  letter-spacing: -0.03em;
}

#morph-axis-italic h4.weight-100 {
  animation-name: morph-axis-italic-100;
}

#morph-axis-italic h4.weight-300 {
  animation-name: morph-axis-italic-300;
}

#morph-axis-italic h4.weight-400 {
  animation-name: morph-axis-italic-400;
}

#morph-axis-italic h4.weight-700 {
  animation-name: morph-axis-italic-700;
}

#morph-axis-italic h4.weight-900 {
  animation-name: morph-axis-italic-900;
}

@keyframes morph-axis-italic-100 {
  0% {
    font-variation-settings: "wght" 100, "slnt" 0, "CNTR" 0;
  }
  20% {
    font-variation-settings: "wght" 100, "slnt" 0, "CNTR" 0;
  }
  25% {
    font-variation-settings: "wght" 100, "slnt" 12, "CNTR" 0;
  }
  45% {
    font-variation-settings: "wght" 100, "slnt" 12, "CNTR" 0;
  }
  50% {
    font-variation-settings: "wght" 100, "slnt" 0, "CNTR" 100;
  }
  70% {
    font-variation-settings: "wght" 100, "slnt" 0, "CNTR" 100;
  }
  75% {
    font-variation-settings: "wght" 100, "slnt" 12, "CNTR" 100;
  }
  95% {
    font-variation-settings: "wght" 100, "slnt" 12, "CNTR" 100;
  }
  100% {
    font-variation-settings: "wght" 100, "slnt" 0, "CNTR" 0;
  }
}

@keyframes morph-axis-italic-100-b {}@keyframes morph-axis-italic-300 {
  0% {
    font-variation-settings: "wght" 300, "slnt" 0, "CNTR" 0;
  }
  20% {
    font-variation-settings: "wght" 300, "slnt" 0, "CNTR" 0;
  }
  25% {
    font-variation-settings: "wght" 300, "slnt" 12, "CNTR" 0;
  }
  45% {
    font-variation-settings: "wght" 300, "slnt" 12, "CNTR" 0;
  }
  50% {
    font-variation-settings: "wght" 300, "slnt" 0, "CNTR" 100;
  }
  70% {
    font-variation-settings: "wght" 300, "slnt" 0, "CNTR" 100;
  }
  75% {
    font-variation-settings: "wght" 300, "slnt" 12, "CNTR" 100;
  }
  95% {
    font-variation-settings: "wght" 300, "slnt" 12, "CNTR" 100;
  }
  100% {
    font-variation-settings: "wght" 300, "slnt" 0, "CNTR" 0;
  }
}

@keyframes morph-axis-italic-300-b {}@keyframes morph-axis-italic-400 {
  0% {
    font-variation-settings: "wght" 400, "slnt" 0, "CNTR" 0;
  }
  20% {
    font-variation-settings: "wght" 400, "slnt" 0, "CNTR" 0;
  }
  25% {
    font-variation-settings: "wght" 400, "slnt" 12, "CNTR" 0;
  }
  45% {
    font-variation-settings: "wght" 400, "slnt" 12, "CNTR" 0;
  }
  50% {
    font-variation-settings: "wght" 400, "slnt" 0, "CNTR" 100;
  }
  70% {
    font-variation-settings: "wght" 400, "slnt" 0, "CNTR" 100;
  }
  75% {
    font-variation-settings: "wght" 400, "slnt" 12, "CNTR" 100;
  }
  95% {
    font-variation-settings: "wght" 400, "slnt" 12, "CNTR" 100;
  }
  100% {
    font-variation-settings: "wght" 400, "slnt" 0, "CNTR" 0;
  }
}

@keyframes morph-axis-italic-400-b {}@keyframes morph-axis-italic-700 {
  0% {
    font-variation-settings: "wght" 700, "slnt" 0, "CNTR" 0;
  }
  20% {
    font-variation-settings: "wght" 700, "slnt" 0, "CNTR" 0;
  }
  25% {
    font-variation-settings: "wght" 700, "slnt" 12, "CNTR" 0;
  }
  45% {
    font-variation-settings: "wght" 700, "slnt" 12, "CNTR" 0;
  }
  50% {
    font-variation-settings: "wght" 700, "slnt" 0, "CNTR" 100;
  }
  70% {
    font-variation-settings: "wght" 700, "slnt" 0, "CNTR" 100;
  }
  75% {
    font-variation-settings: "wght" 700, "slnt" 12, "CNTR" 100;
  }
  95% {
    font-variation-settings: "wght" 700, "slnt" 12, "CNTR" 100;
  }
  100% {
    font-variation-settings: "wght" 700, "slnt" 0, "CNTR" 0;
  }
}

@keyframes morph-axis-italic-700-b {}@keyframes morph-axis-italic-900 {
  0% {
    font-variation-settings: "wght" 900, "slnt" 0, "CNTR" 0;
  }
  20% {
    font-variation-settings: "wght" 900, "slnt" 0, "CNTR" 0;
  }
  25% {
    font-variation-settings: "wght" 900, "slnt" 12, "CNTR" 0;
  }
  45% {
    font-variation-settings: "wght" 900, "slnt" 12, "CNTR" 0;
  }
  50% {
    font-variation-settings: "wght" 900, "slnt" 0, "CNTR" 100;
  }
  70% {
    font-variation-settings: "wght" 900, "slnt" 0, "CNTR" 100;
  }
  75% {
    font-variation-settings: "wght" 900, "slnt" 12, "CNTR" 100;
  }
  95% {
    font-variation-settings: "wght" 900, "slnt" 12, "CNTR" 100;
  }
  100% {
    font-variation-settings: "wght" 900, "slnt" 0, "CNTR" 0;
  }
}

@keyframes morph-axis-italic-900-b {}/* ULTRA */
#morph-axis-ultra h4 {
  animation-duration: 4s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-direction: normal;
  line-height: 70%;
  letter-spacing: -0.03em;
  font-family: 'GT Ultra Ultra';
  animation-name: morph-axis-ultra;
}

@keyframes morph-axis-ultra {
  0% {
    font-variation-settings: "CNTR" 0;
  }
  23.33% {
    font-variation-settings: "CNTR" 0;
  }
  33.33% {
    font-variation-settings: "CNTR" 50;
  }
  56.66% {
    font-variation-settings: "CNTR" 50;
  }
  66.66% {
    font-variation-settings: "CNTR" 100;
  }
  90% {
    font-variation-settings: "CNTR" 100;
  }
  100% {
    font-variation-settings: "CNTR" 0;
  }
}

/* FULL FAMILY */
#morph-full-family {
  cursor: default;
}

#morph-full-family h4 span {
  animation-duration: 1.5s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-direction: alternate;
  letter-spacing: -0.02em;
  transition: font-variation-settings 0.15s ease-out;
}

#morph-full-family .morph-stations label {
  display: block;
  transition: background-position-x 0.15s ease-out;
}

#morph-full-family .morph-stations label.ms--default {
  background-position-x: 50%;
}

#morph-full-family .morph-stations label.ms--hover {
  background-position-x: 100%;
}

#morph-full-family:hover .morph-stations label.ms--default {
  background-position-x: 0%;
}

#morph-full-family:hover .morph-stations label.ms--hover {
  background-position-x: 50%;
}

#morph-full-family h4 span {
  animation-duration: 4s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-direction: normal;
}

#morph-full-family h4.std-subfamily span.weight-100 {
  animation-name: morph-full-family-std-100;
}

#morph-full-family h4.std-subfamily span.weight-300 {
  animation-name: morph-full-family-std-300;
}

#morph-full-family h4.std-subfamily span.weight-400 {
  animation-name: morph-full-family-std-400;
}

#morph-full-family h4.std-subfamily span.weight-700 {
  animation-name: morph-full-family-std-700;
}

#morph-full-family h4.std-subfamily span.weight-900 {
  animation-name: morph-full-family-std-900;
}

@keyframes morph-full-family-std-100 {
  0% {
    font-variation-settings: "wght" 100, "slnt" 12, "CNTR" 0;
  }
  50% {
    font-variation-settings: "wght" 100, "slnt" 0, "CNTR" 0;
  }
  100% {
    font-variation-settings: "wght" 100, "slnt" 12, "CNTR" 0;
  }
}

@keyframes morph-full-family-std-100-b {}@keyframes morph-full-family-std-300 {
  0% {
    font-variation-settings: "wght" 300, "slnt" 12, "CNTR" 0;
  }
  50% {
    font-variation-settings: "wght" 300, "slnt" 0, "CNTR" 0;
  }
  100% {
    font-variation-settings: "wght" 300, "slnt" 12, "CNTR" 0;
  }
}

@keyframes morph-full-family-std-300-b {}@keyframes morph-full-family-std-400 {
  0% {
    font-variation-settings: "wght" 400, "slnt" 12, "CNTR" 0;
  }
  50% {
    font-variation-settings: "wght" 400, "slnt" 0, "CNTR" 0;
  }
  100% {
    font-variation-settings: "wght" 400, "slnt" 12, "CNTR" 0;
  }
}

@keyframes morph-full-family-std-400-b {}@keyframes morph-full-family-std-700 {
  0% {
    font-variation-settings: "wght" 700, "slnt" 12, "CNTR" 0;
  }
  50% {
    font-variation-settings: "wght" 700, "slnt" 0, "CNTR" 0;
  }
  100% {
    font-variation-settings: "wght" 700, "slnt" 12, "CNTR" 0;
  }
}

@keyframes morph-full-family-std-700-b {}@keyframes morph-full-family-std-900 {
  0% {
    font-variation-settings: "wght" 900, "slnt" 12, "CNTR" 0;
  }
  50% {
    font-variation-settings: "wght" 900, "slnt" 0, "CNTR" 0;
  }
  100% {
    font-variation-settings: "wght" 900, "slnt" 12, "CNTR" 0;
  }
}

@keyframes morph-full-family-std-900-b {}#morph-full-family h4.med-subfamily span.weight-100 {
  animation-name: morph-full-family-med-100;
}

#morph-full-family h4.med-subfamily span.weight-300 {
  animation-name: morph-full-family-med-300;
}

#morph-full-family h4.med-subfamily span.weight-400 {
  animation-name: morph-full-family-med-400;
}

#morph-full-family h4.med-subfamily span.weight-700 {
  animation-name: morph-full-family-med-700;
}

#morph-full-family h4.med-subfamily span.weight-900 {
  animation-name: morph-full-family-med-900;
}

@keyframes morph-full-family-med-100 {
  0% {
    font-variation-settings: "wght" 100, "slnt" 12, "CNTR" 50;
  }
  50% {
    font-variation-settings: "wght" 100, "slnt" 0, "CNTR" 50;
  }
  100% {
    font-variation-settings: "wght" 100, "slnt" 12, "CNTR" 50;
  }
}

@keyframes morph-full-family-med-100-b {}@keyframes morph-full-family-med-300 {
  0% {
    font-variation-settings: "wght" 300, "slnt" 12, "CNTR" 50;
  }
  50% {
    font-variation-settings: "wght" 300, "slnt" 0, "CNTR" 50;
  }
  100% {
    font-variation-settings: "wght" 300, "slnt" 12, "CNTR" 50;
  }
}

@keyframes morph-full-family-med-300-b {}@keyframes morph-full-family-med-400 {
  0% {
    font-variation-settings: "wght" 400, "slnt" 12, "CNTR" 50;
  }
  50% {
    font-variation-settings: "wght" 400, "slnt" 0, "CNTR" 50;
  }
  100% {
    font-variation-settings: "wght" 400, "slnt" 12, "CNTR" 50;
  }
}

@keyframes morph-full-family-med-400-b {}@keyframes morph-full-family-med-700 {
  0% {
    font-variation-settings: "wght" 700, "slnt" 12, "CNTR" 50;
  }
  50% {
    font-variation-settings: "wght" 700, "slnt" 0, "CNTR" 50;
  }
  100% {
    font-variation-settings: "wght" 700, "slnt" 12, "CNTR" 50;
  }
}

@keyframes morph-full-family-med-700-b {}@keyframes morph-full-family-med-900 {
  0% {
    font-variation-settings: "wght" 900, "slnt" 12, "CNTR" 50;
  }
  50% {
    font-variation-settings: "wght" 900, "slnt" 0, "CNTR" 50;
  }
  100% {
    font-variation-settings: "wght" 900, "slnt" 12, "CNTR" 50;
  }
}

@keyframes morph-full-family-med-900-b {}#morph-full-family h4.fin-subfamily span.weight-100 {
  animation-name: morph-full-family-fin-100;
}

#morph-full-family h4.fin-subfamily span.weight-300 {
  animation-name: morph-full-family-fin-300;
}

#morph-full-family h4.fin-subfamily span.weight-400 {
  animation-name: morph-full-family-fin-400;
}

#morph-full-family h4.fin-subfamily span.weight-700 {
  animation-name: morph-full-family-fin-700;
}

#morph-full-family h4.fin-subfamily span.weight-900 {
  animation-name: morph-full-family-fin-900;
}

@keyframes morph-full-family-fin-100 {
  0% {
    font-variation-settings: "wght" 100, "slnt" 12, "CNTR" 100;
  }
  50% {
    font-variation-settings: "wght" 100, "slnt" 0, "CNTR" 100;
  }
  100% {
    font-variation-settings: "wght" 100, "slnt" 12, "CNTR" 100;
  }
}

@keyframes morph-full-family-fin-100-b {}@keyframes morph-full-family-fin-300 {
  0% {
    font-variation-settings: "wght" 300, "slnt" 12, "CNTR" 100;
  }
  50% {
    font-variation-settings: "wght" 300, "slnt" 0, "CNTR" 100;
  }
  100% {
    font-variation-settings: "wght" 300, "slnt" 12, "CNTR" 100;
  }
}

@keyframes morph-full-family-fin-300-b {}@keyframes morph-full-family-fin-400 {
  0% {
    font-variation-settings: "wght" 400, "slnt" 12, "CNTR" 100;
  }
  50% {
    font-variation-settings: "wght" 400, "slnt" 0, "CNTR" 100;
  }
  100% {
    font-variation-settings: "wght" 400, "slnt" 12, "CNTR" 100;
  }
}

@keyframes morph-full-family-fin-400-b {}@keyframes morph-full-family-fin-700 {
  0% {
    font-variation-settings: "wght" 700, "slnt" 12, "CNTR" 100;
  }
  50% {
    font-variation-settings: "wght" 700, "slnt" 0, "CNTR" 100;
  }
  100% {
    font-variation-settings: "wght" 700, "slnt" 12, "CNTR" 100;
  }
}

@keyframes morph-full-family-fin-700-b {}@keyframes morph-full-family-fin-900 {
  0% {
    font-variation-settings: "wght" 900, "slnt" 12, "CNTR" 100;
  }
  50% {
    font-variation-settings: "wght" 900, "slnt" 0, "CNTR" 100;
  }
  100% {
    font-variation-settings: "wght" 900, "slnt" 12, "CNTR" 100;
  }
}

@keyframes morph-full-family-fin-900-b {}#morph-full-family span.std-weight-ultra {
  font-family: "GT Ultra Ultra";
  font-variation-settings: "CNTR" 0;
}

#morph-full-family span.med-weight-ultra {
  font-family: "GT Ultra Ultra";
  font-variation-settings: "CNTR" 50;
}

#morph-full-family span.fin-weight-ultra {
  font-family: "GT Ultra Ultra";
  font-variation-settings: "CNTR" 100;
}

.animation {
  position: relative;
  display: flex;
  align-self: flex-start;
}

@media only screen and (min-width: 1100px) {
  .anim-nearly-full-width img,
  .anim-nearly-full-width lottie-player {
    width: 85%;
    margin: 0 auto;
  }
  .anim-nearly-full-width img div,
  .anim-nearly-full-width lottie-player div {
    width: 100%;
  }
}

.anim-full-width img,
.anim-full-width lottie-player {
  width: 100%;
}

.anim-full-width img #animation-container,
.anim-full-width lottie-player #animation-container {
  width: 100%;
}

.typetester-container {
  position: fixed;
  width: 100vw;
  max-width: 100%;
  height: 100%;
  background: #000000;
  z-index: 10;
  transform: translateX(0%) translateY(-100%);
  transition: transform 0.5s ease-out;
  display: flex;
  flex-direction: column;
}

.js-typetester-container-active {
  transform: translateX(0%) translateY(0%);
  transition: transform 0.5s ease-in;
}

@media only screen and (min-width: 1100px) {
  .js-typetester-container-active {
    transform: translateX(0%) translateY(0%);
  }
}

.js-typetester-close {
  color: #FFFFFF;
  z-index: 25;
  position: fixed;
  bottom: 20px;
  right: 20px;
}

@media only screen and (min-width: 600px) {
  .js-typetester-close {
    bottom: 30px;
    right: 30px;
  }
}

@media only screen and (min-width: 1100px) {
  .js-typetester-close {
    bottom: auto;
    top: 30px;
    right: 35px;
  }
}

.typetester-button-color-change {
  display: block;
  height: 20px;
  width: 20px;
  bottom: 0;
  right: 0;
  color: black;
  border: 2px solid #FFFFFF;
  border-radius: 50%;
  z-index: 16;
}

@media only screen and (min-width: 1100px) {
  .typetester-button-color-change {
    position: fixed;
    bottom: 30px;
    right: 35px;
  }
  .typetester-button-color-change:hover {
    cursor: pointer;
    border: 4px solid #FFFFFF;
  }
}

@media only screen and (min-width: 1100px) {
  .js-typetester-close:hover {
    cursor: pointer;
    font-variation-settings: "wght" 700, "slnt" 0, "CNTR" 0;
    transition: font-variation-settings 0.4s ease-in;
  }
}

.typetester-nav {
  width: 100%;
  color: #FFFFFF;
}

.typetester-nav.typetester-nav-top,
.typetester-nav.typetester-nav-top .typetester-nav-row {
  top: 0;
}

.typetester-nav.typetester-nav-top .typetester-nav-item,
.typetester-nav.typetester-nav-top .typetester-nav-row .typetester-nav-item {
  padding-right: 10px;
}

@media only screen and (min-width: 600px) {
  .typetester-nav.typetester-nav-top .typetester-nav-item,
  .typetester-nav.typetester-nav-top .typetester-nav-row .typetester-nav-item {
    padding-right: 20px;
  }
}

@media only screen and (min-width: 1100px) {
  .typetester-nav.typetester-nav-top .typetester-nav-item,
  .typetester-nav.typetester-nav-top .typetester-nav-row .typetester-nav-item {
    padding-right: 60px;
  }
}

.typetester-nav.typetester-nav-bottom {
  transition: font-variation-settings 0.4s ease-in;
}

.typetester-nav.typetester-nav-bottom .typetester-nav-row {
  display: flex;
  flex-direction: column;
  padding-bottom: 20px;
}

@media only screen and (min-width: 600px) {
  .typetester-nav.typetester-nav-bottom .typetester-nav-row {
    display: grid;
    padding-bottom: 30px;
  }
}

.typetester-nav.typetester-nav-bottom .typetester-nav-item:hover {
  cursor: pointer;
}

.typetester-nav-row {
  z-index: 9;
  width: 100%;
  padding: 20px 15px 0px 20px;
}

.typetester-nav-row .typetester-nav-item:nth-of-type(1) {
  grid-column: 1 / 3;
}

.typetester-nav-row .typetester-nav-item:nth-of-type(2) {
  grid-column: 3 / 5;
}

.typetester-nav-row .typetester-nav-item:nth-of-type(3) {
  grid-column: 5 / -1;
}

@media only screen and (min-width: 600px) {
  .typetester-nav-row {
    padding: 25px 15px 10px 30px;
  }
  .typetester-nav-row .typetester-nav-item:nth-of-type(1) {
    grid-column: 1 / 5;
  }
  .typetester-nav-row .typetester-nav-item:nth-of-type(2) {
    grid-column: 5 / 9;
  }
  .typetester-nav-row .typetester-nav-item:nth-of-type(3) {
    grid-column: 9 / -1;
  }
}

@media only screen and (min-width: 1100px) {
  .typetester-nav-row {
    padding: 30px 200px 30px 200px;
  }
  .typetester-nav-row .typetester-nav-item:nth-of-type(1) {
    grid-column: 1 / 3;
  }
  .typetester-nav-row .typetester-nav-item:nth-of-type(2) {
    grid-column: 3 / 5;
  }
  .typetester-nav-row .typetester-nav-item:nth-of-type(3) {
    grid-column: 5 / -1;
  }
}

.typetester-nav-row {
  position: fixed;
  bottom: 0;
  width: 100vw;
  position: relative;
  bottom: auto;
  width: auto;
}

.typetester-nav-row .typetester-nav-item:nth-of-type(1) {
  grid-column: 1 / 3;
}

.typetester-nav-row .typetester-nav-item:nth-of-type(2) {
  grid-column: 3 / 5;
}

.typetester-nav-row .typetester-nav-item:nth-of-type(3) {
  grid-column: 5 / -1;
}

.typetester-nav-row .typetester-nav-item {
  flex-wrap: wrap;
}

@media only screen and (min-width: 600px) {
  .typetester-nav-row .typetester-nav-item:nth-of-type(1) {
    grid-column: 1 / 5;
  }
  .typetester-nav-row .typetester-nav-item:nth-of-type(2) {
    grid-column: 5 / 9;
  }
  .typetester-nav-row .typetester-nav-item:nth-of-type(3) {
    grid-column: 9 / -1;
  }
}

.typetester-nav-group {
  display: flex;
  flex-direction: row;
  flex: 1 0 auto;
}

.typetester-nav-item {
  flex: 1 0 auto;
  justify-content: center;
  padding-right: 10px;
  color: #FFFFFF;
  transition: all 0.5s ease-out;
  flex-direction: column;
}

.typetester-nav-item :not(.typetester-nav-toggle) {
  display: flex;
}

.typetester-nav-item .typetester-range-slider {
  transition: border 0.2s ease-in;
}

.typetester-nav-item.js-typetester-nav-toggle-deactivated {
  transition: all 0.5s ease-in;
  pointer-events: none;
}

.typetester-nav-item.js-typetester-nav-toggle-deactivated .typetester-range-slider,
.typetester-nav-item.js-typetester-nav-toggle-deactivated .typetester-range-stop {
  opacity: 0;
  transition: opacity 0.5s ease-in;
}

.typetester-nav-item::selection {
  background: transparent;
  color: inherit;
}

@media only screen and (min-width: 1100px) {
  .typetester-nav-item {
    flex-direction: column;
  }
  .typetester-nav-item.js-typetester-nav-toggle-deactivated {
    color: #666660;
    flex: 0 0 auto;
    width: 0px;
    padding-left: 0px;
    padding-right: 0px;
    border-right: 0px;
  }
  .typetester-nav-item.js-typetester-nav-toggle-deactivated * {
    color: transparent;
    background-color: transparent;
    border: 0px solid transparent;
    transition: all 0.5s ease-in;
  }
  .typetester-nav-item.js-typetester-nav-toggle-deactivated *:before, .typetester-nav-item.js-typetester-nav-toggle-deactivated *:after {
    color: transparent;
    border-color: transparent;
    background-color: transparent;
  }
}

.typetester-nav-icon {
  padding-right: 10px;
}

.typetester-nav-toggle {
  margin-right: 8px;
  font-variation-settings: "wght" 400, "slnt" 0, "CNTR" 0;
  transition: font-variation-settings 0.4s ease-in;
  display: inline;
}

.typetester-nav-toggle:not(.js-typetester-nav-toggle-active)::before {
  content: "○";
  border: 0;
}

.typetester-nav-toggle.js-typetester-nav-toggle-active::before {
  content: "●";
  border: 0;
  background: transparent;
}

.typetester-nav-item:hover,
.typetester-nav-item:active {
  cursor: default;
}

@media only screen and (min-width: 1100px) {
  .typetester-nav-item:hover .typetester-range-input:before,
  .typetester-nav-item:active .typetester-range-input:before {
    border: 1px solid #FFFFFF;
  }
  .typetester-nav-item:hover .typetester-range-slider,
  .typetester-nav-item:active .typetester-range-slider {
    border: 9px solid #FFFFFF;
    background: #FFFFFF;
    transition: border 0.4s ease-out;
  }
  .typetester-nav-item:hover .typetester-range-slider:hover, .typetester-nav-item:hover .typetester-range-slider:focus, .typetester-nav-item:hover .typetester-range-slider:active,
  .typetester-nav-item:active .typetester-range-slider:hover,
  .typetester-nav-item:active .typetester-range-slider:focus,
  .typetester-nav-item:active .typetester-range-slider:active {
    border: 15px solid #FFFFFF;
    transition: border 0.4s ease-out;
    cursor: grab;
  }
}

.typetester-nav-item.text-caption:hover, .typetester-nav-item.morph-stations:hover, h5.typetester-nav-item:hover,
.typetester-button-close:hover .text-caption,
.typetester-button-close:hover .morph-stations,
.typetester-button-close:hover h5 {
  font-variation-settings: "wght" 550, "slnt" 0, "CNTR" 0;
  transition: font-variation-settings 0.4s ease-in;
}

/*
.js-typetester-nav-toggle-active {
	background: $black;

	.typetester-nav-playicon {
		border-color: transparent transparent transparent $white;
	}
}
*/
.typetester-sample-container {
  flex-grow: 1;
  overflow: hidden;
  position: relative;
}

.typetester-sample {
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  overflow: hidden;
  z-index: 8;
  height: 100%;
  width: 100%;
  margin: 0;
  padding: 0 10px 0 10px;
  font-variation-settings: "wdth" 170, "wght" 500, "ital" 0;
  font-size: 10.5vw;
  line-height: 0.95;
  background-color: #000000;
  color: #FFFFFF;
}

@media only screen and (min-width: 1100px) {
  .typetester-sample {
    padding: calc(100vw / 42);
  }
}

.typetester-sample-ultra-ultra {
  position: absolute;
  top: 0;
  left: 0;
  transform: translateY(-100%);
  font-family: "GT Ultra Ultra";
  transition: all 0.3s ease-out;
}

.js-typetester-ultra-ultra-active {
  transition: all 0.3s ease-out;
}

.js-typetester-ultra-ultra-active .typetester-sample-ultra-ultra {
  transform: translateY(0%);
}

.js-typetester-ultra-ultra-active .typetester-nav-top #tt_weight,
.js-typetester-ultra-ultra-active .typetester-nav-top #tt_italic {
  transform: translateY(-65px);
}

.typetester-sample p {
  text-align: center;
  padding-top: 50px;
  padding-bottom: 50px;
  padding-bottom: 70px;
}

.typetester-range-input {
  margin-left: 0;
  margin-right: 0;
  padding-top: 10px;
  padding-bottom: 20px;
  flex-grow: 1;
  position: relative;
}

@media only screen and (min-width: 1100px) {
  .typetester-range-input {
    padding-top: 7px;
  }
}

.typetester-range-input:before {
  content: '';
  border: 1px solid #FFFFFF;
  position: absolute;
  width: 100%;
  height: 0;
  left: 0;
}

.typetester-range-slider {
  border: 2px solid #FFFFFF;
  border-radius: 50%;
  background: #FFFFFF;
  width: 10px;
  height: 10px;
  position: absolute;
  transform: translate(-50%, -50%);
}

.js-typetester-status-active .typetester-range-stop {
  display: initial;
}

h5 {
  display: block;
  opacity: 1;
  padding-bottom: 20px;
}

@media only screen and (min-width: 600px) {
  h5 {
    padding-bottom: 30px;
  }
}

.character-set-category {
  display: flex;
  flex-flow: row;
  flex-wrap: wrap;
  flex: 0 1 auto;
  text-align: center;
  margin-bottom: 35px;
  font-size: calc(calc(100vw - 20px) / 20);
  line-height: calc(calc(100vw - 20px) / 4);
}

@media only screen and (min-width: 600px) {
  .character-set-category {
    font-size: calc(calc(100vw - 40px) / 24);
    line-height: calc(calc(100vw - 40px) / 12);
  }
}

@media only screen and (min-width: 1100px) {
  .character-set-category {
    font-size: calc(calc(100vw - 400px) / 52);
    line-height: calc(calc(100vw - 400px) / 35);
  }
}

.character-set-box {
  box-sizing: border-box;
  line-height: 1.7;
  height: calc(calc(100vw - 20px)/12);
  width: calc(calc(100vw - 20px)/12);
}

@media only screen and (min-width: 600px) {
  .character-set-box {
    line-height: 1.7;
    height: calc(calc(100vw - 40px)/16);
    width: calc(calc(100vw - 40px)/16);
  }
}

@media only screen and (min-width: 1100px) {
  .character-set-box {
    line-height: 2.05;
    height: calc(calc(100vw - 400px)/26 - 1px);
    width: calc(calc(100vw - 400px)/26 - 1px);
  }
}

.character-set-box.zoomed {
  color: #000000;
  background: #FFFFFF;
  border: 1px solid #000000;
  opacity: 0;
  position: absolute;
  text-align: center;
  pointer-events: none;
  transition: opacity 0.3s ease-in-out;
  height: calc(calc(100vw - 20px)/2);
  width: calc(calc(100vw - 20px)/2);
  font-size: calc(calc(100vw - 20px) / 2.75);
  line-height: calc(calc(100vw - 20px) / 1.95);
  animation-duration: 6s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-direction: normal;
  animation-name: morph-ultra-var;
  z-index: 10000;
}

@media only screen and (min-width: 600px) {
  .character-set-box.zoomed {
    height: calc(calc(100vw - 40px)/2.25);
    width: calc(calc(100vw - 40px)/2.25);
    font-size: calc(calc(100vw - 40px) / 3);
    line-height: calc(calc(100vw - 40px) / 2.2);
  }
}

@media only screen and (min-width: 1100px) {
  .character-set-box.zoomed {
    height: calc(calc(100vw - 400px) / 4);
    width: calc(calc(100vw - 400px) / 4);
    font-size: calc(calc(100vw - 400px) / 5);
    line-height: calc(calc(100vw - 400px) / 3.9);
  }
}

.character-set-box.zoomed.is-visible {
  opacity: 1;
}

#overview .character-set-box {
  border: 1px solid #000000;
}

.single-item.character-set-box {
  box-shadow: 1px 0 0 0 #000000, 0 1px 0 0 #000000, 1px 1px 0 0 #000000, 1px 0 0 0 #000000 inset, 0 1px 0 0 #000000 inset;
  color: #000000;
}
