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

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

body {
    line-height: 1
}

ol, ul {
    list-style: none
}

blockquote, q {
    quotes: none
}

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

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

@font-face {
    font-family: tilt-neon;
    src: url(https://kstatic.googleusercontent.com/files/fd2f9a58013995466b4e406173714ae5214e8ea3b102433265fb39f72782e4124174b405cce0db36e714dcf927435d3c3612e333edf7baad59e2f26be4a877dc) format("woff2")
}

@font-face {
    font-family: tilt-prism;
    src: url(https://kstatic.googleusercontent.com/files/f68063f6e25794255e8deb6f3337f7e84fe8142219563b88cf2c63f6fcf47502dc0a0d257fd7ed23cf95c16f19444e552c003b6917877d78bf7e45ffdf32012d) format("woff2")
}

@font-face {
    font-family: tilt-warp;
    src: url(https://kstatic.googleusercontent.com/files/b2a7afc2c81ac39e4cdace2a6192b6f629d7aa6989a6b5442bd8a425474f1762cf7c43a9730fbc49f7e988a8eb0b16924eebf8b3bc85f86523124f986164b574) format("woff2")
}

:root {
    --bg: #fff
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 48px
}

* {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

body {
    background-color: #fff;
    font-family: tilt-neon;
    font-size: 18px;
    line-height: 24px;
    min-width: 100vw;
    overflow-x: hidden
}

a {
    border-bottom: 1px solid;
    color: #000;
    text-decoration: none
}

a:hover {
    border-bottom: 0
}

h1 {
    letter-spacing: .05em
}

h1, h2 {
    text-transform: uppercase
}

h2 {
    margin: 24px 0
}

h1, h2:not(.big) {
    letter-spacing: .125em
}

h2.big {
    font-size: 36px;
    line-height: 42px;
    margin: 42px 0;
    text-transform: none
}

@media(max-width:599px) {
    h2.big {
        margin: 24px 0
    }
}

p {
    margin: 24px 0
}

.neon {
    font-family: tilt-neon
}

.prism {
    font-family: tilt-prism
}

.warp {
    font-family: tilt-warp
}

.clearfix:after {
    clear: both;
    content: "";
    display: table
}

.no-pointer {
    pointer-events: none
}

section {
    background: #fff;
    border-bottom: 1px solid
}

button {
    background: none;
    border: none;
    color: inherit;
    cursor: pointer;
    font: inherit;
    outline: inherit;
    padding: 0
}

.uppercase {
    text-transform: uppercase
}

@-webkit-keyframes hrot {
    0% {
        font-variation-settings: "HROT"0
    }

    25% {
        font-variation-settings: "HROT"45
    }

    75% {
        font-variation-settings: "HROT"-45
    }

    to {
        font-variation-settings: "HROT"0
    }
}

@keyframes hrot {
    0% {
        font-variation-settings: "HROT"0
    }

    25% {
        font-variation-settings: "HROT"45
    }

    75% {
        font-variation-settings: "HROT"-45
    }

    to {
        font-variation-settings: "HROT"0
    }
}

.nav-section {
    background: #fff;
    border-bottom: 1px solid;
    height: 48px;
    line-height: 48px;
    position: fixed;
    text-align: center;
    width: 100%;
    z-index: 999
}

.discocube {
    font-family: tilt-neon;

}

@media(max-width:599px) {
    .nav-section .nav-heading {
        margin: 0 16px;
        text-align: left
    }
}

.nav-section .nav-heading a {
    display: inline-block;
    width: 48px
}

.nav-section a {
    border: 0
}

.nav-section a:hover {
    -webkit-animation: hrot 1.2s infinite;
    animation: hrot 1.2s infinite
}

.nav-section ul {
    line-height: 48px
}

.nav-section ul li {
    display: inline-block;
    margin: 0 8px
}

@media(max-width:599px) {
    .nav-section ul li {
        margin: 0 4px
    }
}

.nav-section ul li a {
    display: block;
    text-align: center;
    width: 48px
}

.nav-section .primary {
    left: 16px;
    position: absolute;
    text-align: left;
    top: 0
}

@media(max-width:599px) {
    .nav-section .primary {
        left: auto;
        right: 44px
    }
}

.nav-section .secondary {
    position: absolute;
    right: 72px;
    text-align: right;
    top: 0
}

.nav-section .secondary .crowdfunding {
    width: 112px
}

.nav-section .secondary .share {
    width: 56px
}

.nav-section .tertiary {
    position: absolute;
    right: 16px;
    text-align: right;
    top: 0
}

@media(max-width:599px) {
    .nav-section .tertiary {
        right: 8px
    }
}

.nav-section .tertiary .camera {
    width: 24px
}

.hero {
    -webkit-touch-callout: none;
    cursor: pointer;
    font-size: 45vw;
    line-height: .85em;
    overflow: hidden;
    padding-top: 48px;
    position: relative;
    text-align: center;
    user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    -webkit-user-select: none;
    word-break: keep-all
}

@media(max-width:599px) {
    .hero {
        font-size: min(74vw, 300px);
        height: min(140vw, 600px);
        line-height: .77em;
        padding-top: calc(40px + .05em)
    }

    .hero .chars {
        display: inline-block;
        letter-spacing: -.03em
    }
}

.hero .char-0 {
    font-family: tilt-neon
}

.hero .char-1 {
    font-family: tilt-prism
}

.hero .char-2 {
    font-family: tilt-warp
}

@media(max-width:599px) {
    .hero .char-2 {
        display: block
    }
}

.hero nav {
    border-bottom: 1px solid;
    height: 48px
}

.hero nav, .hero nav h1 {
    font-size: 18px;
    line-height: 48px
}

.hero nav h1 {
    font-weight: 400;
    left: 50%;
    letter-spacing: .1em;
    margin: 0 0 0 -200px;
    position: absolute;
    text-align: center;
    top: 0;
    width: 400px
}

.hero nav ul {
    margin: 0;
    padding: 0
}

.hero nav ul.left {
    left: 16px;
    position: absolute;
    top: 0
}

.hero nav ul.right {
    position: absolute;
    right: 16px;
    top: 0
}

.hero nav ul li {
    display: inline-block;
    list-style-type: none;
    margin: 0 .5em
}

.hero .val-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: static
}

@media(max-width:599px) {
    .hero .val-container {
        left: 16px;
        margin-top: -32px;
        position: absolute
    }
}

.hero .hrot, .hero .vrot {
    font-size: 13px;
    line-height: 32px
}

.hero .hrot {
    margin-left: 16px
}

.hero .vrot {
    margin-left: 26px
}

.hero>svg {
    left: 0;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    top: 0;
    -webkit-transition: opacity .2s;
    -o-transition: opacity .2s;
    transition: opacity .2s
}

@media(max-width:599px) {
    .hero>svg {
        display: none
    }
}

.hero svg circle, .hero svg line {
    stroke: #000;
    stroke-width: 1
}

.hero svg circle {
    fill: #fff
}

.hero:hover svg {
    opacity: 1
}

.hero-text {
    color: #000;
    height: 100%;
    white-space: nowrap
}

/* @media(hover:none) {
    .hero svg:not(#facecam svg), .scroller {
        display: none
    }
} */

@media(hover:none) {
    .hero .scroller {
        display: none
    }
}

.scroller {
    --scroll: 0;
    --vrot: 0;
    cursor: crosshair;
    
    /* font-variation-settings: "HROT"0, "VROT"0; */
    line-height: 240px;
    overflow-x: scroll;
    overflow-y: hidden;
    padding: 0 24px;
    white-space: nowrap
}

.hugefont1 {
    font-size: 216px;
}

.hugefont2 {
    font-size: 100px;
}

.title_de {
    /* font-size: 216px; */
    font-size: 2em; /*  Scaling factor for class "title_de" */
  }
  
.title_ib {
    font-size: 266px;
    /* --scale-factor: 1.25; Scaling factor for class "title_ib" */
  }
  
.letter.title_su {
    font-size: 316;
    /* --scale-factor: 1.5; Scaling factor for class "title_su" */
  }
  
.letter.title_cc {
    font-size: 366;
    /* --scale-factor: 1.75; Scaling factor for class "title_cc" */
  }
  
.letter.title_oo {
    font-size: 416;
    /* --scale-factor: 2; Scaling factor for class "title_o" */
  }
  
@media(max-width:599px) {
    .scroller {
        font-size: 120px;
        line-height: 128px
    }

    .scroller span, .scroller span span:last-of-type {
        display: inline-block
    }

    .scroller span span:last-of-type:after {
        display: inline-block;
        margin-left: 40px;
        width: 100px
    }
}

.signs .anchor {
    margin-top: 1px;
    position: absolute
}

.signs div {
    float: left
}

.signs .sign {
    cursor: crosshair;
    overflow: hidden;
    position: relative
}

.signs .sign .inner {
    font-size: 3.33vw;
    left: 50%;
    margin-right: -50%;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%)
}

.signs .sign .inner div {
    float: none;
    text-align: center
}

.signs .sign p {
    line-height: 105%;
    margin: 0;
    text-align: center
}

.signs .sign p.xxs {
    font-size: 2.5vw
}

.signs .sign p.xs {
    font-size: 3.33vw
}

.signs .sign p.s {
    font-size: 4.44vw
}

.signs .sign p.sm {
    font-size: 5vw
}

.signs .sign p.m {
    font-size: 6.5vw
}

.signs .sign p.ml {
    font-size: 7vw
}


.signs .sign p.l {
    font-size: 8vw
}


.signs .sign p.xl {
    font-size: 10vw
}

.signs .sign p.xxl {
    font-size: 11.11vw
}

.signs .sign p.xxxl {
    font-size: 13vw
}

.signs .sign p.xxxxl {
    font-size: 15vw
}

.signs .b1 {
    border-bottom: 1px solid
}

.signs .col-half {
    width: 50vw
}

.signs .col-quarter {
    width: 25vw
}

.signs .nha-hang-tan-the-gioi {
    border-bottom: 1px solid;
    border-right: 1px solid;
    height: 40vw;
    width: 50vw
}

.signs .sign1 {
    height: 60vw;
}

@media(max-width:599px) {
    .signs .nha-hang-tan-the-gioi {
        border-right: none;
        height: 90vw;
        width: 100vw
    }

    .signs .nha-hang-tan-the-gioi .inner {
        -webkit-transform: translate(-125%, -125%) scale(2.5);
        -ms-transform: translate(-125%, -125%) scale(2.5);
        transform: translate(-125%, -125%) scale(2.5);
        -webkit-transform-origin: 0 0;
        -ms-transform-origin: 0 0;
        transform-origin: 0 0
    }
}

.signs .nha-hang-tan-the-gioi .oval {
    margin: .7em 0
}

.signs .nha-hang-tan-the-gioi .oval p {
    border: .075em solid;
    border-radius: 100%;
    display: inline-block;
    margin: 0 auto;
    padding: .1em .3em
}

.signs .nha-hang-tan-the-gioi p.xs {
    letter-spacing: .02em
}

.signs .new-york-boston {
    border-right: 1px solid;
    height: 20vw;
    width: 25vw
}

.signs .twenty-four-hrs {
    border-bottom: 1px solid;
    border-right: 1px solid;
    height: 10vw;
    width: 25vw
}

@media(max-width:599px) {
    .signs .twenty-four-hrs {
        border-right: none;
        height: 45vw;
        width: 50vw
    }

    .signs .twenty-four-hrs .inner {
        -webkit-transform: translate(-125%, -125%) scale(2.5);
        -ms-transform: translate(-125%, -125%) scale(2.5);
        transform: translate(-125%, -125%) scale(2.5);
        -webkit-transform-origin: 0 0;
        -ms-transform-origin: 0 0;
        transform-origin: 0 0
    }
}

.signs .twenty-four-hrs p {
    border: .075em solid;
    border-radius: .2em;
    padding: .1em .2em
}

.signs .back-rub {
    border-right: 1px solid;
    height: 10vw;
    width: 25vw
}

@media(max-width:599px) {
    .signs .back-rub {
        border-bottom: 1px solid;
        border-right: none;
        height: 40vw;
        width: 100vw
    }

    .signs .back-rub .inner {
        height: 6.6666666667vw;
        -webkit-transform: translate(-200%, -200%) scale(4);
        -ms-transform: translate(-200%, -200%) scale(4);
        transform: translate(-200%, -200%) scale(4);
        -webkit-transform-origin: 0 0;
        -ms-transform-origin: 0 0;
        transform-origin: 0 0
    }
}

.signs .back-rub p {
    display: inline-block
}

.signs .back-rub p.heart {
    padding: 0 .125em;
    position: relative;
    top: -.5em
}

.signs .prosperity {
    background-color: #fff;
    border-bottom: 1px solid;
    border-right: 1px solid;
    height: 13.3333333333vw;
    position: absolute;
    width: 33.3333333333vw
}

@media(max-width:599px) {
    .signs .prosperity {
        border-bottom: none;
        border-right: none;
        border-top: 1px solid;
        height: 50vw;
        padding: 16px 0;
        position: relative;
        width: 100vw
    }
}

.signs .prosperity .inner {
    height: 100%;
    width: 100%
}

@media(max-width:599px) {
    .signs .prosperity .inner {
        -webkit-transform-origin: 0 0;
        -ms-transform-origin: 0 0;
        transform-origin: 0 0
    }
}

.signs .prosperity .inner .xs {
    height: 100%;
    position: absolute;
    width: 100%
}

@media(max-width:599px) {
    .signs .prosperity .inner .xs {
        font-size: 13vw
    }

    .signs .prosperity .inner .xs .symbols:not(.line) {
        display: none
    }
}

.signs .prosperity .inner .xs span {
    display: inline-block;
    letter-spacing: .05em;
    position: relative;
    -webkit-transform-origin: 0 0;
    -ms-transform-origin: 0 0;
    transform-origin: 0 0
}

.signs .prosperity .inner .xs .path-1 {
    top: 21.515625%;
    -webkit-transform: rotate(-15.75deg);
    -ms-transform: rotate(-15.75deg);
    transform: rotate(-15.75deg)
}

.signs .prosperity .inner .xs .path-2 {
    top: 17.9270833333%;
    -webkit-transform: rotate(-10.44deg);
    -ms-transform: rotate(-10.44deg);
    transform: rotate(-10.44deg)
}

.signs .prosperity .inner .xs .path-3 {
    top: 14.9635416667%;
    -webkit-transform: rotate(-5.9deg);
    -ms-transform: rotate(-5.9deg);
    transform: rotate(-5.9deg)
}

.signs .prosperity .inner .xs .path-4 {
    top: 13.0989583333%;
    -webkit-transform: rotate(-2.37deg);
    -ms-transform: rotate(-2.37deg);
    transform: rotate(-2.37deg)
}

.signs .prosperity .inner .xs .path-5 {
    top: 12.5%;
    -webkit-transform: rotate(.56deg);
    -ms-transform: rotate(.56deg);
    transform: rotate(.56deg)
}

.signs .prosperity .inner .xs .path-6 {
    top: 12.65625%;
    -webkit-transform: rotate(3.43deg);
    -ms-transform: rotate(3.43deg);
    transform: rotate(3.43deg)
}

.signs .prosperity .inner .xs .path-7 {
    top: 13.4947916667%;
    -webkit-transform: rotate(6.73deg);
    -ms-transform: rotate(6.73deg);
    transform: rotate(6.73deg)
}

.signs .prosperity .inner .xs .path-8 {
    top: 15.390625%;
    -webkit-transform: rotate(9.59deg);
    -ms-transform: rotate(9.59deg);
    transform: rotate(9.59deg)
}

.signs .prosperity .inner .xs .path-9 {
    top: 16.6041666667%;
    -webkit-transform: rotate(12.7deg);
    -ms-transform: rotate(12.7deg);
    transform: rotate(12.7deg)
}

.signs .prosperity .inner .xs .path-10 {
    top: 19.5625%;
    -webkit-transform: rotate(18.56deg);
    -ms-transform: rotate(18.56deg);
    transform: rotate(18.56deg)
}

.signs .prosperity .inner .xs .path-11 {
    top: 54.4166666667%;
    -webkit-transform: rotate(14.79deg);
    -ms-transform: rotate(14.79deg);
    transform: rotate(14.79deg)
}

.signs .prosperity .inner .xs .path-12 {
    top: 58.671875%;
    -webkit-transform: rotate(8.77deg);
    -ms-transform: rotate(8.77deg);
    transform: rotate(8.77deg)
}

.signs .prosperity .inner .xs .path-13 {
    top: 61.3541666667%;
    -webkit-transform: rotate(3.93deg);
    -ms-transform: rotate(3.93deg);
    transform: rotate(3.93deg)
}

.signs .prosperity .inner .xs .path-14 {
    top: 62.6666666667%;
    -webkit-transform: rotate(-.07deg);
    -ms-transform: rotate(-.07deg);
    transform: rotate(-.07deg)
}

.signs .prosperity .inner .xs .path-15 {
    top: 62.625%;
    -webkit-transform: rotate(-3.15deg);
    -ms-transform: rotate(-3.15deg);
    transform: rotate(-3.15deg)
}

.signs .prosperity .inner .xs .path-16 {
    top: 61.75%;
    -webkit-transform: rotate(-5.68deg);
    -ms-transform: rotate(-5.68deg);
    transform: rotate(-5.68deg)
}

.signs .prosperity .inner .xs .path-17 {
    top: 61.2552083333%;
    -webkit-transform: rotate(-9.1deg);
    -ms-transform: rotate(-9.1deg);
    transform: rotate(-9.1deg)
}

.signs .prosperity .inner .xs .path-18 {
    top: 58.5677083333%;
    -webkit-transform: rotate(-15.31deg);
    -ms-transform: rotate(-15.31deg);
    transform: rotate(-15.31deg)
}

.signs .prosperity .inner .xs .symbols {
    top: 37.5%
}

.signs .prosperity .inner .xs .line {
    border-radius: .1em;
    -webkit-box-shadow: 0 .1em 0 0 #000;
    box-shadow: 0 .1em 0 0 #000;
    height: .1em;
    overflow-y: hidden;
    top: 27.6041666667%
}

.signs .col-hopkee {
    border-right: 1px solid;
    height: 60vw;
    width: 10.5vw
}

.signs .hopkee {
    height: 46.6666666667vw;
    margin-top: 13.3333333333vw;
    width: 10.5vw
}

.signs .hopkee p.l {
    line-height: 95%;
    word-break: break-all
}

.signs .col-hok-shan {
    width: 39.5vw
}

.signs .col-hok-shan-top {
    border-bottom: 1px solid;
    height: 30vw;
    width: 39.5vw
}

.signs .col-key {
    height: 30vw;
    width: 22.8333333333vw
}

.signs .key {
    border-right: 1px solid;
    height: 16.6666666667vw;
    margin-top: 13.3333333333vw;
    width: 22.8333333333vw
}

@media(max-width:599px) {
    .signs .key {
        border-right: none;
        height: 45vw;
        margin-top: 0;
        width: 50vw
    }

    .signs .key .inner {
        -webkit-transform: translate(-100%, -100%) scale(2);
        -ms-transform: translate(-100%, -100%) scale(2);
        transform: translate(-100%, -100%) scale(2);
        -webkit-transform-origin: 0 0;
        -ms-transform-origin: 0 0;
        transform-origin: 0 0
    }
}

.signs .four-choices {
    height: 30vw;
    width: 16.6666666667vw
}

@media(max-width:599px) {
    .signs .four-choices {
        border-right: 1px solid;
        height: 90vw;
        width: 50vw
    }
}

.signs .four-choices p.dollar {
    margin: 0 0 .125em
}

@media(max-width:599px) {
    .signs .four-choices .inner {
        -webkit-transform: translate(-150%, -150%) scale(3);
        -ms-transform: translate(-150%, -150%) scale(3);
        transform: translate(-150%, -150%) scale(3);
        -webkit-transform-origin: 0 0;
        -ms-transform-origin: 0 0;
        transform-origin: 0 0
    }
}

.signs .hok-shan-building {
    height: 30vw;
    width: 39.5vw
}

.signs .hok-shan-building .circle {
    margin: .3em 0
}

.signs .hok-shan-building .circle p {
    border: .08em solid;
    border-radius: 100%;
    display: inline-block;
    line-height: 1.44em;
    margin: 0 .125em;
    padding: 0 .2em
}

.signs .grand-central {
    border-bottom: 1px solid;
    border-right: 1px solid;
    height: 18.3333333333vw;
    width: 75vw
}

@media(max-width:599px) {
    .signs .grand-central {
        border-bottom: 1px solid;
        border-right: none;
        height: 60vw;
        width: 100vw
    }
}

.signs .grand-central p {
    letter-spacing: .15em
}

@media(max-width:599px) {
    .signs .grand-central p {
        letter-spacing: .05em;
        line-height: 95%
    }

    .signs .grand-central .inner {
        -webkit-transform: translate(-125%, -125%) scale(2.5);
        -ms-transform: translate(-125%, -125%) scale(2.5);
        transform: translate(-125%, -125%) scale(2.5);
        -webkit-transform-origin: 0 0;
        -ms-transform-origin: 0 0;
        transform-origin: 0 0
    }
}

.signs .thirty {
    background-color: black;
    color: white;
    border-bottom: 1px solid;
    height: 40vw;
    width: 10vw
}

@media(max-width:599px) {
    .signs .thirty {
        border-bottom: 0;
        border-right: 1px solid;
        height: 50vw;
        width: 50vw
    }
}

.signs .thirty p.track {
    letter-spacing: .05em
}

.signs .thirty p.num {
    line-height: .9em
}

@media(max-width:599px) {
    .signs .thirty .inner {
        -webkit-transform: translate(-125%, -125%) scale(2.5);
        -ms-transform: translate(-125%, -125%) scale(2.5);
        transform: translate(-125%, -125%) scale(2.5);
        -webkit-transform-origin: 0 0;
        -ms-transform-origin: 0 0;
        transform-origin: 0 0
    }
}

.signs .pershing {
    border-bottom: 1px solid;
    height: 25vw;
    width: 100vw
}

@media(max-width:599px) {
    .signs .pershing {
        border-bottom: none;
        border-right: none;
        height: 50vw;
        width: 100vw
    }
}

.signs .pershing p {
    letter-spacing: .2em
}

@media(max-width:599px) {
    .signs .pershing .inner {
        -webkit-transform: translate(-125%, -125%) scale(2.5);
        -ms-transform: translate(-125%, -125%) scale(2.5);
        transform: translate(-125%, -125%) scale(2.5);
        -webkit-transform-origin: 0 0;
        -ms-transform-origin: 0 0;
        transform-origin: 0 0
    }

    .signs .pershing p {
        letter-spacing: .05em
    }
}

.signs .time {
    border-bottom: 1px solid;
    border-right: 1px solid;
    height: 10vw;
    width: 25vw
}

.signs .time p {
    letter-spacing: .15em
}

.signs .trk {
    border-bottom: 1px solid;
    border-right: 1px solid;
    height: 10vw;
    width: 25vw
}

.signs .trk p {
    letter-spacing: .15em
}

.signs .bowery-savings {
    border-right: 1px solid;
    height: 40vw;
    width: 50vw
}

.signs .bowery-savings .inner {
    height: 100%
}

.signs .bowery-savings p.bowery {
    height: 100%;
    margin-left: -50%;
    text-align: center;
    width: 200%
}

.signs .bowery-savings p.bowery span {
    display: inline-block;
    line-height: 100%;
    position: relative
}

.signs .bowery-savings p.bowery .arc-1 {
    left: 7.7159722222%;
    top: 62%;
    -webkit-transform: rotate(-86.24deg);
    -ms-transform: rotate(-86.24deg);
    transform: rotate(-86.24deg)
}

@media(max-width:599px) {
    .signs .bowery-savings p.bowery .arc-1 {
        left: 18vw;
        top: 53vw;
        -webkit-transform: rotate(-92.96deg);
        -ms-transform: rotate(-92.96deg);
        transform: rotate(-92.96deg)
    }
}

.signs .bowery-savings p.bowery .arc-2 {
    left: 5.3041666667%;
    top: 53.46%;
    -webkit-transform: rotate(-77.67deg);
    -ms-transform: rotate(-77.67deg);
    transform: rotate(-77.67deg)
}

@media(max-width:599px) {
    .signs .bowery-savings p.bowery .arc-2 {
        left: 11vw;
        top: 45vw;
        -webkit-transform: rotate(-81.29deg);
        -ms-transform: rotate(-81.29deg);
        transform: rotate(-81.29deg)
    }
}

.signs .bowery-savings p.bowery .arc-3 {
    left: 3.3194444444%;
    top: 45.16%;
    -webkit-transform: rotate(-69deg);
    -ms-transform: rotate(-69deg);
    transform: rotate(-69deg)
}

@media(max-width:599px) {
    .signs .bowery-savings p.bowery .arc-3 {
        left: 6vw;
        top: 37vw;
        -webkit-transform: rotate(-69.4deg);
        -ms-transform: rotate(-69.4deg);
        transform: rotate(-69.4deg)
    }
}

.signs .bowery-savings p.bowery .arc-4 {
    left: 2.4354166667%;
    top: 35.06%;
    -webkit-transform: rotate(-57.74deg);
    -ms-transform: rotate(-57.74deg);
    transform: rotate(-57.74deg)
}

@media(max-width:599px) {
    .signs .bowery-savings p.bowery .arc-4 {
        left: 4vw;
        top: 28vw;
        -webkit-transform: rotate(-54.01deg);
        -ms-transform: rotate(-54.01deg);
        transform: rotate(-54.01deg)
    }
}

.signs .bowery-savings p.bowery .arc-5 {
    left: 1.2881944444%;
    top: 27.68%;
    -webkit-transform: rotate(-49.16deg);
    -ms-transform: rotate(-49.16deg);
    transform: rotate(-49.16deg)
}

@media(max-width:599px) {
    .signs .bowery-savings p.bowery .arc-5 {
        left: 2vw;
        top: 22vw;
        -webkit-transform: rotate(-41.51deg);
        -ms-transform: rotate(-41.51deg);
        transform: rotate(-41.51deg)
    }
}

.signs .bowery-savings p.bowery .arc-6 {
    left: .0743055556%;
    top: 20.54%;
    -webkit-transform: rotate(-38.54deg);
    -ms-transform: rotate(-38.54deg);
    transform: rotate(-38.54deg)
}

@media(max-width:599px) {
    .signs .bowery-savings p.bowery .arc-6 {
        left: 0;
        top: 17vw;
        -webkit-transform: rotate(-25.89deg);
        -ms-transform: rotate(-25.89deg);
        transform: rotate(-25.89deg)
    }
}

.signs .bowery-savings p.bowery .arc-7 {
    left: -.5%;
    top: 15.12%;
    -webkit-transform: rotate(-28.67deg);
    -ms-transform: rotate(-28.67deg);
    transform: rotate(-28.67deg)
}

@media(max-width:599px) {
    .signs .bowery-savings p.bowery .arc-7 {
        left: -.5vw;
        top: 14vw;
        -webkit-transform: rotate(-12deg);
        -ms-transform: rotate(-12deg);
        transform: rotate(-12deg)
    }
}

.signs .bowery-savings p.bowery .arc-8 {
    left: -.6770833333%;
    top: 11.65%;
    -webkit-transform: rotate(-20.78deg);
    -ms-transform: rotate(-20.78deg);
    transform: rotate(-20.78deg)
}

@media(max-width:599px) {
    .signs .bowery-savings p.bowery .arc-8 {
        left: 0;
        top: 13vw;
        -webkit-transform: rotate(-.75deg);
        -ms-transform: rotate(-.75deg);
        transform: rotate(-.75deg)
    }
}

.signs .bowery-savings p.bowery .arc-9 {
    left: -1.0479166667%;
    top: 9.44%;
    -webkit-transform: rotate(-12.55deg);
    -ms-transform: rotate(-12.55deg);
    transform: rotate(-12.55deg)
}

@media(max-width:599px) {
    .signs .bowery-savings p.bowery .arc-9 {
        left: 0;
        top: 13.8vw;
        -webkit-transform: rotate(11.11deg);
        -ms-transform: rotate(11.11deg);
        transform: rotate(11.11deg)
    }
}

.signs .bowery-savings p.bowery .arc-10 {
    left: .0652777778%;
    top: 8.06%;
    -webkit-transform: rotate(-1.55deg);
    -ms-transform: rotate(-1.55deg);
    transform: rotate(-1.55deg)
}

@media(max-width:599px) {
    .signs .bowery-savings p.bowery .arc-10 {
        left: 1.5vw;
        top: 17vw;
        -webkit-transform: rotate(26.55deg);
        -ms-transform: rotate(26.55deg);
        transform: rotate(26.55deg)
    }
}

.signs .bowery-savings p.bowery .arc-11 {
    left: .1215277778%;
    top: 8.43%;
    -webkit-transform: rotate(6.18deg);
    -ms-transform: rotate(6.18deg);
    transform: rotate(6.18deg)
}

@media(max-width:599px) {
    .signs .bowery-savings p.bowery .arc-11 {
        left: 1vw;
        top: 21.5vw;
        -webkit-transform: rotate(38.07deg);
        -ms-transform: rotate(38.07deg);
        transform: rotate(38.07deg)
    }
}

.signs .bowery-savings p.bowery .arc-12 {
    left: -.2423611111%;
    top: 9.88%;
    -webkit-transform: rotate(14.51deg);
    -ms-transform: rotate(14.51deg);
    transform: rotate(14.51deg)
}

@media(max-width:599px) {
    .signs .bowery-savings p.bowery .arc-12 {
        left: -1vw;
        top: 27vw;
        -webkit-transform: rotate(50.58deg);
        -ms-transform: rotate(50.58deg);
        transform: rotate(50.58deg)
    }
}

.signs .bowery-savings p.bowery .arc-13 {
    left: -.3055555556%;
    top: 11.93%;
    -webkit-transform: rotate(21.21deg);
    -ms-transform: rotate(21.21deg);
    transform: rotate(21.21deg)
}

@media(max-width:599px) {
    .signs .bowery-savings p.bowery .arc-13 {
        left: -3vw;
        top: 32vw;
        -webkit-transform: rotate(59.85deg);
        -ms-transform: rotate(59.85deg);
        transform: rotate(59.85deg)
    }
}

.signs .bowery-savings p.bowery .arc-14 {
    left: -.4534722222%;
    top: 14.89%;
    -webkit-transform: rotate(28.25deg);
    -ms-transform: rotate(28.25deg);
    transform: rotate(28.25deg)
}

@media(max-width:599px) {
    .signs .bowery-savings p.bowery .arc-14 {
        left: -6vw;
        top: 39vw;
        -webkit-transform: rotate(69.49deg);
        -ms-transform: rotate(69.49deg);
        transform: rotate(69.49deg)
    }
}

.signs .bowery-savings p.bowery .arc-15 {
    left: -.9055555556%;
    top: 19.93%;
    -webkit-transform: rotate(37.71deg);
    -ms-transform: rotate(37.71deg);
    transform: rotate(37.71deg)
}

@media(max-width:599px) {
    .signs .bowery-savings p.bowery .arc-15 {
        left: -11.8vw;
        top: 47vw;
        -webkit-transform: rotate(82.62deg);
        -ms-transform: rotate(82.62deg);
        transform: rotate(82.62deg)
    }
}

.signs .bowery-savings p.bowery .arc-16 {
    left: -1.4715277778%;
    top: 25.66%;
    -webkit-transform: rotate(46.04deg);
    -ms-transform: rotate(46.04deg);
    transform: rotate(46.04deg)
}

@media(max-width:599px) {
    .signs .bowery-savings p.bowery .arc-16 {
        left: -18.5vw;
        top: 55vw;
        -webkit-transform: rotate(94.11deg);
        -ms-transform: rotate(94.11deg);
        transform: rotate(94.11deg)
    }
}

.signs .bowery-savings p.bowery .arc-17 {
    left: -1.6763888889%;
    top: 34.44%;
    -webkit-transform: rotate(57.11deg);
    -ms-transform: rotate(57.11deg);
    transform: rotate(57.11deg)
}

.signs .bowery-savings p.bowery .arc-18 {
    left: -3.0875%;
    top: 42.16%;
    -webkit-transform: rotate(66deg);
    -ms-transform: rotate(66deg);
    transform: rotate(66deg)
}

.signs .bowery-savings p.bowery .arc-19 {
    left: -5.0736111111%;
    top: 51.29%;
    -webkit-transform: rotate(75.49deg);
    -ms-transform: rotate(75.49deg);
    transform: rotate(75.49deg)
}

.signs .bowery-savings p.bowery .arc-20 {
    left: -7.5618055556%;
    top: 60.41%;
    -webkit-transform: rotate(84.7deg);
    -ms-transform: rotate(84.7deg);
    transform: rotate(84.7deg)
}

@media(max-width:599px) {
    .signs .bowery-savings p.bowery .arc-17, .signs .bowery-savings p.bowery .arc-18, .signs .bowery-savings p.bowery .arc-19, .signs .bowery-savings p.bowery .arc-20 {
        display: none
    }
}

.signs .bowery-savings .inner p.save {
    line-height: .9em;
    margin-top: 2.2em
}

@media(max-width:599px) {
    .signs .bowery-savings {
        border-bottom: 1px solid;
        border-right: none;
        border-top: 1px solid;
        height: 87.5vw;
        width: 100vw
    }

    .signs .bowery-savings .break-mobile {
        display: block
    }

    .signs .bowery-savings br.remove-mobile {
        display: none
    }

    .signs .bowery-savings p.m, .signs .bowery-savings p.s {
        font-size: 12vw
    }

    .signs .bowery-savings .inner {
        -webkit-transform-origin: 0 0;
        -ms-transform-origin: 0 0;
        transform-origin: 0 0
    }

    .signs .bowery-savings .inner p.save {
        margin-top: 2.75em
    }
}

.signs .nypl {
    border-bottom: 1px solid;
    height: 20vw;
    width: 50vw
}

.signs .nypl p.text {
    line-height: .95em
}

.signs .restroom {
    border-bottom: 1px solid;
    height: 17vw;
    width: 50vw
}

@media(max-width:599px) {
    .signs .restroom {
        border-bottom: 1px solid;
        border-right: none;
        height: 25vw;
        width: 100vw
    }

    .signs .restroom .inner {
        -webkit-transform: translate(-137.5%, -137.5%) scale(2.75);
        -ms-transform: translate(-137.5%, -137.5%) scale(2.75);
        transform: translate(-137.5%, -137.5%) scale(2.75);
        -webkit-transform-origin: 0 0;
        -ms-transform-origin: 0 0;
        transform-origin: 0 0
    }
}

.signs .fourty-second {
    border-right: 1px solid;
    height: 13.3333333333vw;
    width: 25vw
}

@media(max-width:599px) {
    .signs .fourty-second {
        border-bottom: 1px solid;
        border-right: none;
        height: 25vw;
        width: 50vw
    }

    .signs .fourty-second .inner {
        -webkit-transform: translate(-125%, -125%) scale(2.5);
        -ms-transform: translate(-125%, -125%) scale(2.5);
        transform: translate(-125%, -125%) scale(2.5);
        -webkit-transform-origin: 0 0;
        -ms-transform-origin: 0 0;
        transform-origin: 0 0
    }
}

.signs .east {
    height: 13.3333333333vw;
    width: 25vw
}

@media(max-width:599px) {
    .signs .east {
        border-right: none;
        height: 25vw;
        width: 50vw
    }

    .signs .east .inner {
        -webkit-transform: translate(-125%, -125%) scale(2.5);
        -ms-transform: translate(-125%, -125%) scale(2.5);
        transform: translate(-125%, -125%) scale(2.5);
        -webkit-transform-origin: 0 0;
        -ms-transform-origin: 0 0;
        transform-origin: 0 0
    }
}

.signs .dont-block {
    border-bottom: 1px solid;
    border-right: 1px solid;
    height: 40vw;
    width: 50vw
}

@media(max-width:599px) {
    .signs .dont-block {
        border-bottom: 1px solid;
        border-right: none;
        height: 116.6666666667vw;
        width: 100vw
    }

    .signs .dont-block .inner {
        -webkit-transform: translate(-150%, -150%) scale(3);
        -ms-transform: translate(-150%, -150%) scale(3);
        transform: translate(-150%, -150%) scale(3);
        -webkit-transform-origin: 0 0;
        -ms-transform-origin: 0 0;
        transform-origin: 0 0
    }
}

.signs .dont-block .inner p {
    line-height: 1em
}

.signs .dont-block .inner svg {
    display: block;
    height: 15vw;
    margin: .5em auto;
    width: 33vw
}

@media(max-width:599px) {
    .signs .dont-block .inner svg {
        height: 12.5vw
    }
}

.signs .dont-block .inner svg rect {
    fill: rgba(0, 0, 0, 0);
    stroke: #000;
    stroke-width: .4em
}

.signs .dont-block .inner svg line {
    stroke: #000;
    stroke-width: .2em
}

.signs .holland-tunnel {
    border-bottom: 1px solid;
    border-right: 1px solid;
    height: 18.3333333333vw;
    width: 50vw
}

@media(max-width:599px) {
    .signs .holland-tunnel {
        border-bottom: 1px solid;
        border-right: none;
        height: 40vw;
        width: 100vw
    }

    .signs .holland-tunnel .inner {
        -webkit-transform: translate(-125%, -125%) scale(2.5);
        -ms-transform: translate(-125%, -125%) scale(2.5);
        transform: translate(-125%, -125%) scale(2.5);
        -webkit-transform-origin: 0 0;
        -ms-transform-origin: 0 0;
        transform-origin: 0 0
    }
}

.signs .holland-tunnel .inner p {
    letter-spacing: .2em;
    line-height: 1em
}

@media(max-width:599px) {
    .signs .holland-tunnel .inner p {
        letter-spacing: .05em
    }
}

.signs .parking-tax {
    border-right: 1px solid;
    height: 15vw;
    width: 28.8333333333vw
}

.signs .parking-tax .inner p {
    line-height: 1em
}

.signs .metered-parking {
    border-right: 1px solid;
    height: 15vw;
    width: 21.1666666667vw
}

.signs .metered-parking p {
    display: inline-block
}

.signs .metered-parking p.text {
    line-height: .95em;
    position: relative;
    text-align: left;
    top: -.2em
}

.signs .bus, .signs .col-max-veh {
    width: 16.6666666667vw
}

.signs .bus {
    border-bottom: 1px solid;
    border-right: 1px solid;
    height: 10vw
}

@media(max-width:599px) {
    .signs .bus {
        border-bottom: 1px solid;
        border-right: 1px solid;
        height: 25vw;
        width: 50vw
    }

    .signs .bus .inner {
        -webkit-transform: translate(-150%, -150%) scale(3);
        -ms-transform: translate(-150%, -150%) scale(3);
        transform: translate(-150%, -150%) scale(3);
        -webkit-transform-origin: 0 0;
        -ms-transform-origin: 0 0;
        transform-origin: 0 0
    }
}

.signs .fraction {
    border-bottom: 1px solid;
    height: 16.1666666667vw
}

.signs .fraction, .signs .max-veh {
    border-right: 1px solid;
    width: 16.6666666667vw
}

.signs .max-veh {
    height: 27.1666666667vw
}

@media(max-width:599px) {
    .signs .max-veh {
        border-bottom: 1px solid;
        border-right: none;
        height: 25vw;
        width: 50vw
    }

    .signs .max-veh .inner {
        -webkit-transform: translate(-150%, -150%) scale(3);
        -ms-transform: translate(-150%, -150%) scale(3);
        transform: translate(-150%, -150%) scale(3);
        -webkit-transform-origin: 0 0;
        -ms-transform-origin: 0 0;
        transform-origin: 0 0
    }
}

.signs .max-veh p.max {
    line-height: .9em;
    margin-bottom: .2em
}

.signs .max-veh .size {
    border: .1em solid;
    border-radius: .2em
}

.signs .max-veh .size p {
    padding: .1em .2em
}

.signs .col-early-bird, .signs .thru-traffic {
    width: 33.3333333333vw
}

.signs .thru-traffic {
    border-bottom: 1px solid;
    height: 25vw
}

@media(max-width:599px) {
    .signs .thru-traffic {
        border-bottom: none;
        border-right: none;
        height: 100vw;
        width: 100vw
    }

    .signs .thru-traffic .inner {
        -webkit-transform: translate(-125%, -125%) scale(2.5);
        -ms-transform: translate(-125%, -125%) scale(2.5);
        transform: translate(-125%, -125%) scale(2.5);
        -webkit-transform-origin: 0 0;
        -ms-transform-origin: 0 0;
        transform-origin: 0 0
    }
}

.signs .thru-traffic .inner p {
    line-height: 1em
}

.signs .thru-traffic .only {
    margin: .3em
}

.signs .thru-traffic .only p {
    background: #000;
    border-radius: .05em;
    color: #fff;
    display: inline-block;
    letter-spacing: .01em;
    padding: .1em .3em
}

.signs .early-bird {
    height: 48.3333333333vw;
    width: 33.3333333333vw
}

.signs .early-bird .inner p {
    line-height: 1em
}

.tester {
    --h-rot: 0;
    --v-rot: 0
}

.tester input[type=text] {
    background-color: rgba(0, 0, 0, 0);
    cursor: default
}

.tester .ibeam {
    border-right: 1px solid;
    float: left;
    height: 240px;
    padding-top: 32px;
    position: relative;
    text-align: center;
    width: 120px
}

@media(max-width:599px) {
    .tester .ibeam {
        display: none
    }
}

.tester .ibeam img {
    left: 60px;
    pointer-events: none;
    position: absolute;
    top: 119px;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 50px
}

.tester .ibeam .static {
    opacity: .2
}

.tester .text {
    float: left
}

.tester .text .slider-wrapper {
    position: absolute
}

.tester .text .slider-wrapper span {
    font-size: 14px;
    margin-right: 8px
}

.tester .text .slider-wrapper.hrot {
    margin: 8px 0 0 16px
}

.tester .text .slider-wrapper.hrot .slider {
    width: 160px
}

.tester .text .slider-wrapper.vrot {
    margin: 224px 0 0 8px;
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg);
    -webkit-transform-origin: 0 0;
    -ms-transform-origin: 0 0;
    transform-origin: 0 0
}

.tester .text .slider-wrapper.vrot .slider {
    width: 136px
}

.tester .text .slider-wrapper .slider {
    -webkit-appearance: none;
    background: rgba(0, 0, 0, 0);
    cursor: pointer;
    height: 16px;
    margin: 4px 0;
    position: absolute
}

.tester .text .slider-wrapper .slider:focus {
    outline: none
}

.tester .text .slider-wrapper .slider::-webkit-slider-runnable-track {
    background: #000;
    height: 1px
}

.tester .text .slider-wrapper .slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    background: #fff;
    border: 1px solid #000;
    border-radius: 50%;
    -webkit-box-shadow: none;
    box-shadow: none;
    -webkit-filter: none;
    filter: none;
    height: 15px;
    margin-top: -7px;
    width: 15px
}

@media(max-width:599px) {
    .tester .text .slider-wrapper .slider::-webkit-slider-thumb {
        height: 23px;
        margin-top: -11px;
        width: 23px
    }
}

.tester .text .slider-wrapper .slider::-webkit-slider-thumb:hover {
    background-color: #000
}

.tester .text .slider-wrapper .slider::-moz-range-thumb {
    background: #fff;
    border: 1px solid;
    border-radius: 50%;
    height: 16px;
    margin-top: -9px;
    width: 16px
}

.tester .text .string {
    border: 0;
    font-size: 216px;
    font-variation-settings: "HROT"var(--h-rot), "VROT"var(--v-rot);
    height: 240px;
    overflow: scroll hidden;
    padding: 0 0 0 40px;
    white-space: nowrap;
    width: calc(100vw - 120px)
}

@media(max-width:599px) {
    .tester .text .string {
        width: 100vw
    }
}

.tester .text .string:focus {
    outline: none
}

@media(max-width:599px) {
    .tester.exact-track .ibeam, .tester.exact-track input[type=text] {
        cursor: text
    }
}

.tester.exact-track .ibeam, .tester.exact-track input[type=text] {
    cursor: none
}

.footer {
    border-bottom: 0
}

.footer .text {
    float: left;
    padding: 0 0 24px 32px;
    width: 50vw
}

@media(max-width:599px) {
    .footer .text {
        padding: 0 24px;
        width: 100vw
    }
}

.footer .credit {
    float: right;
    position: sticky;
    top: 20px;
    width: 33.3333333333vw
}

@media(max-width:599px) {
    .footer .credit {
        border-top: 1px solid;
        float: left;
        position: relative;
        width: 100vw
    }
}

.footer .credit .google {
    float: left;
    padding: 56px 0;
    width: 16.6666666667vw
}

@media(max-width:599px) {
    .footer .credit .google {
        padding: 24px 0 0 16px;
        width: 50vw
    }
}

.footer .credit .detail {
    float: left;
    width: 16.6666666667vw
}

@media(max-width:599px) {
    .footer .credit .detail {
        padding: 0;
        width: 50vw
    }
}

@media(max-width:899px) {
    .footer .credit .detail {
        float: none
    }
}

.footer .credit .detail ul {
    padding: 48px 0
}

@media(max-width:599px) {
    .footer .credit .detail ul {
        padding: 16px
    }
}

.footer .credit .detail ul li {
    margin: 6px 0
}

.footer .credit .people {
    margin-top: 0;
    padding-right: 32px
}

@media(max-width:599px) {
    .footer .credit .people {
        font-size: 14px;
        line-height: 18px;
        padding-left: 24px
    }
}

.footer .credit .fineprint {
    float: left;
    font-size: 12px;
    line-height: 14px;
    padding: 48px 32px 32px 0;
    width: 33.3333333333vw
}

@media(max-width:599px) {
    .footer .credit .fineprint {
        padding: 5vw 24px 40px;
        width: 100vw
    }
}

.footer .credit .fineprint p {
    margin: 0 0 14px
}

.separator {
    background-image: -o-radial-gradient(#000 12.5%, transparent 12.5%), -o-radial-gradient(#000 12.5%, transparent 12.5%);
    background-image: radial-gradient(#000 12.5%, transparent 0), radial-gradient(#000 12.5%, transparent 0);
    background-position: 2px 2px, 8px 8px;
    background-size: 12px 12px;
    border-bottom: 1px solid;
    height: 96px
}

@media(hover:none) {
    .separator.remove-mobile {
        display: none
    }
}

.separator.half {
    height: 48px
}

@-webkit-keyframes jiggle {
    0% {
        -webkit-transform: translate(-50%, -50%) translateY(0);
        transform: translate(-50%, -50%) translateY(0)
    }

    15% {
        -webkit-transform: translate(-50%, -50%) translateY(-30px);
        transform: translate(-50%, -50%) translateY(-30px)
    }

    30% {
        -webkit-transform: translate(-50%, -50%) translateY(0);
        transform: translate(-50%, -50%) translateY(0)
    }

    45% {
        -webkit-transform: translate(-50%, -50%) translateY(-15px);
        transform: translate(-50%, -50%) translateY(-15px)
    }

    60% {
        -webkit-transform: translate(-50%, -50%) translateY(0);
        transform: translate(-50%, -50%) translateY(0)
    }

    75% {
        -webkit-transform: translate(-50%, -50%) translateY(-7px);
        transform: translate(-50%, -50%) translateY(-7px)
    }

    90% {
        -webkit-transform: translate(-50%, -50%) translateY(0);
        transform: translate(-50%, -50%) translateY(0)
    }
}

@keyframes jiggle {
    0% {
        -webkit-transform: translate(-50%, -50%) translateY(0);
        transform: translate(-50%, -50%) translateY(0)
    }

    15% {
        -webkit-transform: translate(-50%, -50%) translateY(-30px);
        transform: translate(-50%, -50%) translateY(-30px)
    }

    30% {
        -webkit-transform: translate(-50%, -50%) translateY(0);
        transform: translate(-50%, -50%) translateY(0)
    }

    45% {
        -webkit-transform: translate(-50%, -50%) translateY(-15px);
        transform: translate(-50%, -50%) translateY(-15px)
    }

    60% {
        -webkit-transform: translate(-50%, -50%) translateY(0);
        transform: translate(-50%, -50%) translateY(0)
    }

    75% {
        -webkit-transform: translate(-50%, -50%) translateY(-7px);
        transform: translate(-50%, -50%) translateY(-7px)
    }

    90% {
        -webkit-transform: translate(-50%, -50%) translateY(0);
        transform: translate(-50%, -50%) translateY(0)
    }
}

#tilt-control-wrapper {
    display: none;
    height: 100vh;
    left: 0;
    pointer-events: none;
    position: fixed;
    top: 0;
    width: 100vw;
    z-index: 1000
}

@media(hover:none) {
    #tilt-control-wrapper {
        display: block
    }
}

#tilt-control {
    background-color: #fff;
    border: 1px solid #000;
    border-radius: 50%;
    -webkit-box-shadow: 2px 4px 5px rgba(0, 0, 0, .4);
    box-shadow: 2px 4px 5px rgba(0, 0, 0, .4);
    height: 48px;
    left: 12.5%;
    margin-top: 0;
    opacity: 0;
    pointer-events: all;
    position: absolute;
    top: calc(min(140vw, 600px) - 20vw);
    -ms-touch-action: none;
    touch-action: none;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-transition: opacity .3s;
    -o-transition: opacity .3s;
    transition: opacity .3s;
    width: 48px
}

#tilt-control.jiggle {
    -webkit-animation: jiggle 1s ease-out forwards;
    animation: jiggle 1s ease-out forwards
}

#tilt-control.visible {
    opacity: 1
}

@media only screen and (min-device-width:320px)and (max-device-width:900px)and (orientation:landscape) {
    #tilt-control {
        top: 70vh
    }
}

.facecam #tilt-control.visible {
    opacity: 0
}

.information {
    background: -o-linear-gradient(top, transparent -.5px, #000 .5px, transparent 1.5px);
    background: linear-gradient(180deg, transparent -.5px, #000 .5px, transparent 1.5px);
    background-position: 0 33.3333333333vw
}

.information .description {
    background: #fff;
    border-right: 1px solid;
    float: left;
    min-height: 33.3333333333vw;
    padding: 8px 16.6666666667vw 8px 32px;
    width: 66.6666666667vw
}

@media(max-width:599px) {
    .information .description {
        border-bottom: 1px solid;
        border-right: none;
        padding: 0 24px;
        width: 100vw
    }
}

.information .description h2, .information .description p {
    max-width: 1024px
}

.information .highlight {
    background: #fff;
    cursor: crosshair;
    float: left;
    height: 33.3333333333vw;
    width: 33.3333333333vw
}

@media(max-width:599px) {
    .information .highlight {
        height: 100vw;
        width: 100vw
    }
}

.information .highlight .hline {
    background-image: -webkit-gradient(linear, left top, right top, from(#000), color-stop(25%, #000), color-stop(25%, transparent), to(transparent));
    background-image: -o-linear-gradient(left, #000, #000 25%, transparent 25%, transparent 100%);
    background-image: linear-gradient(90deg, #000, #000 25%, transparent 0, transparent);
    background-size: 4px 1px;
    height: 1px;
    margin: 16.6666666667vw 4.1666666667vw;
    position: absolute;
    width: 25vw
}

@media(max-width:599px) {
    .information .highlight .hline {
        margin: 50vw 12.5vw;
        width: 75vw
    }
}

.information .highlight>* {
    pointer-events: none
}

.information .highlight .vline {
    background-image: -webkit-gradient(linear, left bottom, left top, from(#000), color-stop(25%, #000), color-stop(25%, transparent), to(transparent));
    background-image: -o-linear-gradient(bottom, #000, #000 25%, transparent 25%, transparent 100%);
    background-image: linear-gradient(0deg, #000, #000 25%, transparent 0, transparent);
    background-size: 1px 4px;
    height: 25vw;
    margin: 4.1666666667vw 16.6666666667vw;
    position: absolute;
    width: 1px
}

@media(max-width:599px) {
    .information .highlight .vline {
        height: 75vw;
        margin: 12.5vw 50vw
    }
}

.information .highlight .legend {
    height: 24px;
    position: absolute;
    width: 48px
}

.information .highlight .legend.hrot {
    left: 83.3333333333vw;
    margin: 8px 0 0 -24px
}

@media(max-width:599px) {
    .information .highlight .legend.hrot {
        left: 50vw
    }
}

.information .highlight .legend.hmin {
    left: 66.6666666667vw;
    margin: 8px 0 0 8px
}

@media(max-width:599px) {
    .information .highlight .legend.hmin {
        left: 8px
    }
}

.information .highlight .legend.hmax {
    left: 100vw;
    margin: 8px 0 0 -56px;
    text-align: right
}

.information .highlight .legend.vmax {
    left: 66.6666666667vw;
    margin: calc(33.33vw - 32px) 0 0 8px
}

@media(max-width:599px) {
    .information .highlight .legend.vmax {
        left: 8px;
        margin-top: calc(100vw - 32px)
    }
}

.information .highlight .legend.vrot {
    left: 66.6666666667vw;
    margin: calc(16.67vw + 24px) 0 0 8px;
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg);
    -webkit-transform-origin: 0 0;
    -ms-transform-origin: 0 0;
    transform-origin: 0 0
}

@media(max-width:599px) {
    .information .highlight .legend.vrot {
        left: 8px;
        margin-top: calc(50vw + 24px)
    }
}

.information .highlight .glyph {
    font-size: 33.3333333333vw;
    line-height: 33.3333333333vw;
    text-align: center
}

@media(max-width:599px) {
    .information .highlight .glyph {
        font-size: 100vw;
        line-height: 100vw
    }
}

.open-glyphs-table {
    cursor: pointer
}

.glyphs-table {
    border-bottom: none;
    font-size: 0;
    height: 0;
    overflow: hidden;
    -webkit-transition: height .5s;
    -o-transition: height .5s;
    transition: height .5s
}

.glyphs-table.open {
    height: 37.5vw
}

@media(max-width:599px) {
    .glyphs-table.open {
        height: 150vw
    }
}

.glyphs-table ul:nth-of-type(2n) li:last-of-type {
    border-right: 0
}

@media(max-width:599px) {
    .glyphs-table ul:nth-of-type(odd) li:last-of-type {
        border-right: 0
    }
}

.glyphs-table ul li {
    border-bottom: 1px solid;
    border-right: 1px solid;
    float: left;
    font-size: .8928571429vw;
    height: 6.25vw;
    line-height: .8928571429vw;
    list-style-type: none;
    text-align: center;
    width: 6.25vw
}

@media(max-width:599px) {
    .glyphs-table ul li {
        font-size: 1.7857142857vw;
        height: 12.5vw;
        line-height: 1.7857142857vw;
        width: 12.5vw
    }
}

.glyphs-table ul li p {
    margin: .5208333333vw 8px;
    white-space: nowrap
}

@media(max-width:599px) {
    .glyphs-table ul li p {
        margin: 1.0416666667vw 0
    }
}

.glyphs-table ul li p.glyph-name {
    overflow: hidden;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis
}

.glyphs-table ul li .glyph {
    font-size: 3.125vw;
    line-height: 3.125vw;
    margin: 1.0416666667vw 0 .78125vw
}

@media(max-width:599px) {
    .glyphs-table ul li .glyph {
        font-size: 6.25vw;
        line-height: 6.25vw;
        margin: 2.0833333333vw 0 1.5625vw
    }
}

.glyphs-table ul li.download {
    overflow: hidden;
    width: 12.5vw
}

@media(max-width:599px) {
    .glyphs-table ul li.download {
        width: 25vw
    }
}

.glyphs-table ul li.download a {
    border: 0
}

.glyphs-table ul li.download a p {
    font-size: 1.25vw;
    height: 6.25vw;
    line-height: 1.5625vw;
    margin: 0;
    padding: 1.25vw 0
}

@media(max-width:599px) {
    .glyphs-table ul li.download a p {
        font-size: 2.5vw;
        height: 12.5vw;
        line-height: 3.125vw;
        padding: 2.5vw 0
    }
}

.glyphs-table ul li.download a p:hover {
    background-color: #000;
    color: #fff
}

.small-only {
    display: none
}

@media(max-width:599px) {
    .small-only {
        display: block
    }

    .large-only {
        display: none
    }
}

@-webkit-keyframes content-iteration {
    0% {
        content: ""
    }

    25% {
        content: "."
    }

    50% {
        content: ".."
    }

    75% {
        content: "..."
    }

    to {
        content: "..."
    }
}

@keyframes content-iteration {
    0% {
        content: ""
    }

    25% {
        content: "."
    }

    50% {
        content: ".."
    }

    75% {
        content: "..."
    }

    to {
        content: "..."
    }
}

#facecam {
    --h: 300px;
    --w: 400px;
    height: 100%;
    left: 0;
    pointer-events: none;
    position: absolute;
    top: 0;
    width: 100vw
}

#facecam .svg-wrapper {
    left: 0;
    mix-blend-mode: difference;
    position: absolute;
    top: 40%;
    width: 100%
}

@media(max-width:599px) {
    #facecam .svg-wrapper {
        left: 50%
    }
}

#facecam .alert {
    background-color: #fff;
    border: 1px solid;
    border-radius: 18px;
    color: #000;
    font-size: 18px;
    left: 50%;
    line-height: 18px;
    opacity: 0;
    padding: 8px 12px 8px 16px;
    position: absolute;
    text-align: left;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-transition: opacity .3s;
    -o-transition: opacity .3s;
    transition: opacity .3s;
    width: 184px
}

#facecam .alert .dot-dot-dot {
    display: inline-block;
    margin-left: 1px;
    text-align: left;
    width: .9em
}

#facecam .alert span:after {
    -webkit-animation: content-iteration 1s linear infinite running;
    animation: content-iteration 1s linear infinite running;
    content: "...";
    display: inline-block;
    width: .9em
}

#facecam svg {
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    -webkit-transform: scaleX(-1) translateY(-50%);
    -ms-transform: scaleX(-1) translateY(-50%);
    transform: scaleX(-1) translateY(-50%);
    -webkit-transition: opacity .3s;
    -o-transition: opacity .3s;
    transition: opacity .3s;
    width: 100%
}

@media(max-width:599px) {
    #facecam svg {
        -webkit-transform: scaleX(-1) translate(50%, -50%);
        -ms-transform: scaleX(-1) translate(50%, -50%);
        transform: scaleX(-1) translate(50%, -50%);
        width: 180%
    }
}

#facecam svg polyline {
    fill: none;
    stroke: #fff
}

#facecam svg circle {
    fill: #fff;
    stroke-width: 2px;
    stroke: #000
}

#facecam canvas, #facecam video {
    left: 50%;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(-50%, -60%) scaleX(-1);
    -ms-transform: translate(-50%, -60%) scaleX(-1);
    transform: translate(-50%, -60%) scaleX(-1)
}

#facecam video {
    opacity: 0
}

#facecam canvas {
    width: 100%
}

.facecam #facecam svg {
    opacity: 1
}

.facecam #needle {
    opacity: 0
}

.camera.on {
    background-color: red;
    border-radius: 50%;
    color: #fff;
    height: 24px;
    line-height: 0
}