@font-face {
    font-family: SFProText-Bold;
    src: url("../static/fonts/SF Pro/SF-Pro-Text-Bold.otf")
}

@font-face {
    font-family: SF-Pro-Text-Semibold;
    src: url("../static/fonts/SF Pro/SF-Pro-Text-Semibold.otf")
}

@font-face {
    font-family: SFProText-Medium;
    src: url("../static/fonts/SF Pro/SF-Pro-Text-Medium.otf")
}

@font-face {
    font-family: SFProText-Regular;
    src: url("../static/fonts/SF Pro/SF-Pro-Text-Regular.otf")
}

@font-face {
    font-family: SFProText-Light;
    src: url("../static/fonts/SF Pro/SF-Pro-Text-Light.otf")
}

@font-face {
    font-family: Chronicle-Display-Bold;
    src: url("../static/fonts/HCo_ChronDisplay/OpenType/ChronicleDisp-Bold.otf")
}

@font-face {
    font-family: ChronicleDisp-Semibold;
    src: url("../static/fonts/HCo_ChronDisplay/OpenType/ChronicleDisp-Semibold.otf")
}

@font-face {
    font-family: Chronicle-Display-Semibold;
    src: url("../static/fonts/HCo_ChronDisplay/OpenType/ChronicleDisp-Semibold.otf")
}

.site-header-button {
    z-index: 60
}

.header {
    z-index: 5
}

.header {
    position: relative;
    display: flex;
    justify-content: flex-start
}

.header .logo {
    font-family: SFProText-Bold;
    flex: 1 1 auto
}

.header .nav-wrap {
    flex: 1 1 auto;
    text-align: right
}

.header .nav-wrap .nav-item {
    font-family: SFProText-Regular
}

@media only screen and (min-width: 769px) {
    .menuModule {
        display:none
    }
}

@media only screen and (max-width: 768px) {
    .menuModule {
        position:absolute;
        top: 0;
        width: 100%;
        height: 100%;
        background: white;
        display: block;
        z-index: 59;
        transition: 0.3s;
        visibility: hidden;
        opacity: 0
    }

    .menuModule.active {
        visibility: visible;
        opacity: 1
    }

    .menuModule .mobileMenuContainer li {
        transform: translateY(40%);
        opacity: 0;
        transition: .3s
    }

    .menuModule .mobileMenuContainer li.active {
        transform: translateY(0%);
        opacity: 1
    }

    .menuModule .footerMobileMenuContainer {
        opacity: 0;
        transition: .3s
    }

    .menuModule .footerMobileMenuContainer.active {
        opacity: 1
    }
}

@media only screen and (min-width: 1581px) {
    .header {
        padding-top:40px;
        padding-bottom: 40px;
        width: 100%;
        max-width: 1440px;
        margin: 0 auto
    }

    .logo {
        font-size: 14px;
        line-height: 24px;
        letter-spacing: 2px
    }

    .nav-item {
        font-size: 13px;
        line-height: 24px;
        letter-spacing: 2px;
        display: inline-block
    }

    .nav-item.center {
        margin: 0 50px
    }
}

@media only screen and (min-width: 1025px) and (max-width: 1580px) {
    .header {
        padding-top:40px;
        padding-bottom: 20px;
        padding-left: 50px;
        padding-right: 50px
    }

    .logo {
        font-size: 14px;
        line-height: 24px;
        letter-spacing: 2px
    }

    .nav-item {
        font-size: 13px;
        line-height: 24px;
        letter-spacing: 2px;
        display: inline-block
    }

    .nav-item.center {
        margin: 0 50px
    }
}

@media only screen and (min-width: 769px) and (max-width: 1024px) {
    .header {
        padding:40px 50px 20px;
        max-width: 1440px
    }

    .logo {
        font-size: 14px;
        line-height: 24px;
        letter-spacing: 2px
    }

    .nav-item {
        font-size: 13px;
        line-height: 24px;
        letter-spacing: 2px;
        display: inline-block
    }

    .nav-item.center {
        margin: 0 50px
    }
}

@media only screen and (min-width: 501px) and (max-width: 768px) {
    .header {
        padding-top:40px;
        padding-bottom: 20px;
        padding-left: 10.4vw;
        padding-right: 10.4vw;
        max-width: 1440px
    }

    .logo {
        font-size: 14px;
        line-height: 24px;
        letter-spacing: 2px
    }
}

@media only screen and (min-width: 769px) {
    .header .logo {
        max-width:260px
    }
}

.header-wrap.fixed {
    position: fixed;
    width: 100%;
    z-index: 60;
    background: #fff;
    top: 0;
    max-width: 100vw
}

@media only screen and (max-width: 500px) {
    .header {
        padding:40px 20px 20px;
        max-width: 1440px
    }

    .logo {
        font-size: 14px;
        line-height: 24px;
        letter-spacing: 2px
    }
}

.home-page .footer-wrap {
    z-index: 5
}

.dropLink {
    text-decoration: none;
    color: inherit
}

.footer-item {
    font-family: SFProText-Regular;
    color: #636466;
    display: inline-block;
    font-size: 12px;
    letter-spacing: 1px
}

.footer-item.center {
    margin: 0 20px
}

.footer-wrap.fixed {
    text-align: center;
    height: 95px;
    position: fixed;
    bottom: 0;
    background: #fff;
    width: 100%
}

.footer-wrap.fixed .footer {
    text-align: center;
    transform: translateY(-50%);
    position: relative;
    top: 50%
}

.reset-link {
    text-decoration: none;
    color: inherit
}

@media only screen and (min-width: 501px) {
    .home-page .footer-wrap {
        position:absolute;
        bottom: 0;
        padding-top: 40px;
        padding-bottom: 40px;
        background: #fff;
        width: 100%;
        max-width: 1440px;
        left: 50%;
        transform: translateX(-50%);
        text-align: center
    }

    .js-home-page .footer-wrap.disabled-by-projects {
        display: none
    }
}

@media only screen and (max-width: 500px) {
    .home-page .footer-wrap {
        padding-bottom:40px;
        padding-top: 20px;
        width: 100%;
        max-width: 1440px;
        text-align: center
    }

    .footer-wrap.fixed.disabled-for-project {
        display: none
    }
}

.footer-wrap.fixed.disabled {
    display: none
}

.js-home-page.disabled {
    display: none
}

.title-wrap {
    z-index: 5
}

.slide-wrap,.slide-l {
    z-index: 4
}

.layer-text,.slide-r {
    z-index: 2
}

@media only screen and (min-width: 501px) {
    .js-home-page.disabled-by-projects {
        display:none
    }

    .home-page {
        height: 100vh;
        overflow: hidden;
        position: absolute;
        top: 0;
        width: 100%
    }

    .page.disabledScroll {
        overflow: hidden
    }
}

@media only screen and (max-width: 500px) {
    .home-page {
        margin-top:100px
    }
}

.title-item {
    font-family: Chronicle-Display-Semibold;
    position: relative
}

@media only screen and (min-width: 1660px) {
    .title-wrap {
        position:absolute;
        top: 50%;
        margin: 0 auto;
        left: 0;
        right: 0;
        width: 1660px;
        transform: translateY(-50%)
    }

    .title-item {
        font-size: 101px;
        line-height: 92px;
        letter-spacing: -1px
    }

    .js-title-wrap {
        height: 105px
    }
}

@media only screen and (min-width: 1601px) and (max-width: 1659px) {
    .title-wrap {
        position:absolute;
        top: 50%;
        transform: translateY(-50%)
    }

    .title-item {
        font-size: 101px;
        line-height: 92px;
        letter-spacing: -1px
    }

    .js-title-wrap {
        height: 105px
    }
}

@media only screen and (min-width: 1025px) and (max-width: 1600px) {
    .title-wrap {
        position:absolute;
        top: 50%;
        transform: translateY(-50%)
    }

    .title-item {
        font-size: 86px;
        line-height: 77px
    }

    .js-title-wrap {
        height: 89px
    }
}

@media only screen and (min-width: 501px) and (max-width: 1024px) {
    .title-wrap {
        position:absolute;
        top: 50%;
        transform: translateY(-50%)
    }

    .title-item {
        font-size: 65px;
        line-height: 56px
    }

    .js-title-wrap {
        height: 66px
    }
}

@media only screen and (min-width: 501px) {
    .image-card {
        display:none
    }

    .title-item {
        opacity: 0
    }

    .title-item.current {
        opacity: 1
    }
}

@media only screen and (min-width: 414px) and (max-width: 500px) {
    .title-wrap {
        margin:20px;
        position: relative
    }

    .title-wrap:not(.single-line) {
        height: 550px
    }

    .title-wrap.single-line {
        height: 508px
    }

    .title-wrap.desktop {
        display: none
    }

    .image-card {
        height: 450px;
        max-width: 334px
    }

    .image-card img {
        width: 100%;
        height: 100%
    }

    .title-item {
        font-size: 50px;
        line-height: 42px;
        position: absolute;
        bottom: 31px;
        opacity: 1
    }

    .title-item:not(.pause-studio-item) {
        left: 61px
    }

    .title-item.pause-studio-item {
        left: 61px;
        bottom: 19px
    }
}

@media only screen and (max-width: 413px) {
    .title-wrap {
        margin:20px;
        position: relative
    }

    .title-wrap:not(.single-line) {
        height: 492px
    }

    .title-wrap.single-line {
        height: 450px
    }

    .title-wrap.desktop {
        display: none
    }

    .image-card {
        height: 392px;
        max-width: 297px
    }

    .image-card img {
        width: 100%;
        height: 100%
    }

    .title-item {
        font-size: 50px;
        line-height: 42px;
        position: absolute;
        bottom: 31px;
        opacity: 1
    }

    .title-item:not(.pause-studio-item) {
        left: 61px
    }

    .title-item.pause-studio-item {
        left: 61px;
        bottom: 19px
    }
}

.layer-text {
    top: 50%;
    transform: translateY(-50%);
    position: relative
}

.paginator-item {
    font-family: Chronicle-Display-Bold;
    opacity: 0;
    position: relative
}

.paginator-item.current {
    opacity: 1
}

.paginator-item.total {
    opacity: 1;
    color: #77787b
}

@media only screen and (min-width: 1601px) {
    .layer-text {
        max-width:1440px;
        width: 100%;
        margin: 0 auto;
        display: table;
        height: calc(100% - 137px)
    }

    .layer-text .paginator-wrap {
        width: 139px;
        margin: 0 0 0 auto;
        display: table-cell;
        vertical-align: middle;
        text-align: right
    }

    .paginator-item {
        font-size: 110px;
        height: 110px
    }

    .paginator-item .first {
        letter-spacing: 8px
    }

    .total.paginator-item::before {
        content: "";
        height: 2px;
        background: black;
        width: 127px;
        position: absolute;
        top: 0;
        right: 0
    }
}

@media only screen and (min-width: 1025px) and (max-width: 1600px) {
    .layer-text {
        width:100%;
        position: absolute;
        right: 50px;
        display: table;
        height: calc(100% - 137px)
    }

    .layer-text .paginator-wrap {
        width: 139px;
        margin: 0 0 0 auto;
        display: table-cell;
        vertical-align: middle;
        text-align: right
    }

    .paginator-item {
        font-size: 86px;
        height: 86px
    }

    .paginator-item .first {
        letter-spacing: 6px
    }

    .total.paginator-item::before {
        content: "";
        height: 2px;
        background: black;
        width: 99px;
        position: absolute;
        top: 0;
        right: 0
    }
}

@media only screen and (min-width: 769px) and (max-width: 1024px) {
    .layer-text {
        max-width:1440px;
        width: 100%;
        position: absolute;
        right: 50px;
        display: table;
        height: calc(100% - 137px)
    }

    .layer-text .paginator-wrap {
        width: 139px;
        margin: 0 0 0 auto;
        display: table-cell;
        vertical-align: middle;
        text-align: right
    }

    .paginator-item {
        font-size: 65px;
        height: 65px
    }

    .paginator-item .first {
        letter-spacing: 4px
    }

    .total.paginator-item::before {
        content: "";
        height: 1px;
        background: black;
        width: 74px;
        position: absolute;
        top: 0;
        right: 0
    }
}

@media only screen and (min-width: 501px) and (max-width: 768px) {
    .layer-text {
        max-width:1440px;
        width: 100%;
        position: absolute;
        right: 10.4vw;
        display: table;
        height: calc(100% - 137px)
    }

    .layer-text .paginator-wrap {
        width: 139px;
        margin: 0 0 0 auto;
        display: table-cell;
        vertical-align: middle;
        text-align: right
    }

    .paginator-item {
        font-size: 65px;
        height: 65px
    }

    .paginator-item .first {
        letter-spacing: 4px
    }

    .total.paginator-item::before {
        content: "";
        height: 1px;
        background: black;
        width: 74px;
        position: absolute;
        top: 0;
        right: 0
    }
}

@media only screen and (max-width: 500px) {
    .layer-text {
        display:none
    }
}

button {
    color: white;
    border: none;
    outline: none
}

.u-visually-hidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px
}

.site-header-button .button-bar--1 {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px)
}

.site-header-button .button-bar--2 {
    -webkit-transform-origin: 100% 50%;
    transform-origin: 100% 50%;
    -webkit-transform: scaleX(1);
    transform: scaleX(1)
}

.site-header-button .button-bar--3 {
    -webkit-transform: translateY(6px);
    transform: translateY(6px)
}

.site-header-button .button-bar {
    position: absolute;
    top: 50%;
    right: 6px;
    left: 6px;
    height: 2px;
    width: auto;
    margin-top: -1px;
    transition: opacity 0.3s cubic-bezier(0.165, 0.84, 0.44, 1),background-color 0.6s cubic-bezier(0.165, 0.84, 0.44, 1),-webkit-transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1),opacity 0.3s cubic-bezier(0.165, 0.84, 0.44, 1),background-color 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1),opacity 0.3s cubic-bezier(0.165, 0.84, 0.44, 1),background-color 0.6s cubic-bezier(0.165, 0.84, 0.44, 1),-webkit-transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
    background-color: #000
}

.site-header-button {
    position: relative;
    height: 30px;
    width: 32px;
    margin-top: -1px;
    margin-right: -6px;
    padding: 8px 6px;
    display: block;
    border: 0;
    border-radius: 0;
    background-color: transparent;
    pointer-events: all;
    transition: -webkit-transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1),-webkit-transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1)
}

.site-header-button.is-active {
    -webkit-transform: rotate(-180deg);
    transform: rotate(-180deg)
}

.site-header-button.is-active .button-bar--1 {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
}

.site-header-button.is-active .button-bar--2 {
    opacity: 0
}

.site-header-button.is-active .button-bar--3 {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg)
}

.site-header-button.is-active .button-bar {
    transition: opacity 0.3s cubic-bezier(0.165, 0.84, 0.44, 1),background-color 0.6s cubic-bezier(0.165, 0.84, 0.44, 1),-webkit-transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1),opacity 0.3s cubic-bezier(0.165, 0.84, 0.44, 1),background-color 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1),opacity 0.3s cubic-bezier(0.165, 0.84, 0.44, 1),background-color 0.6s cubic-bezier(0.165, 0.84, 0.44, 1),-webkit-transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1)
}

@media only screen and (min-width: 769px) {
    .title-wrap {
        pointer-events:none
    }

    .site-header-button {
        display: none
    }
}

@media only screen and (max-width: 768px) {
    .nav-wrap {
        display:none
    }
}

.contact-mobile-screens {
    font-family: SFProText-Bold;
    font-size: 14px;
    line-height: 24px;
    letter-spacing: 1px;
    text-align: center;
    margin-top: 85px
}

.contact-mobile-menu {
    font-family: SFProText-Bold;
    font-size: 14px;
    line-height: 24px;
    letter-spacing: 1px;
    text-align: center;
    padding-top: 30px;
    border-top: 2px solid #636466;
    margin-left: 20px;
    margin-right: 20px;
    max-width: 100%
}

@media only screen and (min-width: 501px) {
    .contact-mobile-screens {
        display:none
    }
}

.slide-wrap {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    overflow: hidden;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    margin: auto
}

.slide-l {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    overflow: hidden
}

.slide-r {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    overflow: hidden;
    display: none
}

@media only screen and (min-width: 1660px) {
    .slide-l {
        width:30%;
        margin-left: 19%
    }

    .slide-l .slide-cell {
        width: auto;
        right: 0;
        left: auto
    }

    .slide-r {
        display: block;
        margin-left: 0;
        left: auto;
        right: 0;
        width: 30%;
        margin-right: 19%
    }

    .slide-r .slide-cell {
        width: auto;
        left: 0;
        right: auto
    }

    .slide-cell {
        position: absolute;
        overflow: hidden;
        height: 750px;
        top: 50%;
        transform: translateY(-50%);
        max-width: 542px
    }

    .slide-cell img {
        height: 100%
    }
}

@media only screen and (min-width: 1601px) and (max-width: 1659px) {
    .slide-l {
        width:30%;
        margin-left: 19%
    }

    .slide-l .slide-cell {
        width: auto;
        right: 0;
        left: auto
    }

    .slide-r {
        display: block;
        margin-left: 0;
        left: auto;
        right: 0;
        width: 30%;
        margin-right: 19%
    }

    .slide-r .slide-cell {
        width: auto;
        left: 0;
        right: auto
    }

    .slide-cell {
        position: absolute;
        overflow: hidden;
        height: 642px;
        top: 50%;
        transform: translateY(-50%)
    }
}

@media only screen and (min-width: 1281px) and (max-width: 1600px) {
    .slide-l {
        width:32%;
        margin-left: 17%
    }

    .slide-l .slide-cell {
        width: auto;
        right: 0;
        left: auto
    }

    .slide-r {
        display: block;
        margin-left: 0;
        left: auto;
        right: 0;
        width: 32%;
        margin-right: 17%
    }

    .slide-r .slide-cell {
        width: auto;
        left: 0;
        right: auto
    }

    .slide-cell {
        position: absolute;
        overflow: hidden;
        height: 642px;
        top: 50%;
        transform: translateY(-50%)
    }
}

@media only screen and (min-width: 1025px) and (max-width: 1280px) {
    .slide-l {
        width:32%;
        margin-left: 17%
    }

    .slide-l .slide-cell {
        width: auto;
        right: 0;
        left: auto
    }

    .slide-r {
        display: block;
        margin-left: 0;
        left: auto;
        right: 0;
        width: 32%;
        margin-right: 17%
    }

    .slide-r .slide-cell {
        width: auto;
        left: 0;
        right: auto
    }

    .slide-cell {
        position: absolute;
        overflow: hidden;
        height: 525px;
        top: 50%;
        transform: translateY(-50%)
    }

    .slide-cell img {
        height: 100%
    }
}

@media only screen and (min-width: 769px) and (max-width: 1024px) {
    .slide-l {
        width:32%;
        margin-left: 17%
    }

    .slide-l .slide-cell {
        width: auto;
        right: 0;
        left: auto
    }

    .slide-r {
        display: block;
        margin-left: 0;
        left: auto;
        right: 0;
        width: 32%;
        margin-right: 17%
    }

    .slide-r .slide-cell {
        width: auto;
        left: 0;
        right: auto
    }

    .slide-cell {
        position: absolute;
        overflow: hidden;
        height: 432px;
        top: 50%;
        transform: translateY(-50%)
    }

    .slide-cell img {
        height: 100%
    }
}

@media only screen and (min-width: 501px) and (max-width: 768px) {
    .slide-r {
        display:none
    }

    .slide-l {
        position: absolute;
        top: 0;
        left: 0;
        width: 63vw;
        height: 100%;
        margin-left: 10.4vw;
        overflow: hidden
    }

    .slide-l .slide-cell {
        position: absolute;
        width: 100%;
        height: 85vw;
        max-height: 664px;
        overflow: hidden;
        top: 50%;
        transform: translateY(-50%)
    }

    .slide-l .slide-cell img {
        height: 100%
    }
}

@media only screen and (max-width: 500px) {
    .layer-slider {
        display:none
    }
}

.total,.total.paginator-item::before,.js-rotate div {
    transition: 900ms
}

.paginator-item {
    overflow: hidden
}

.js-rotate {
    position: relative
}

.js-rotate div {
    position: absolute;
    right: 0;
    transform: translateY(-100%);
    opacity: 0
}

.js-rotate div.active {
    transform: translateY(0%);
    opacity: 1
}

.js-rotate div.rotated {
    transform: translateY(100%);
    opacity: 0
}

.layer-text {
    transition: 200ms
}

.layer-text.disabled {
    opacity: 0
}

.js-title {
    transition: 900ms;
    background: none
}

.js-title-wrap {
    position: relative;
    overflow: hidden;
    background: none
}

.js-title-wrap .js-title {
    position: absolute;
    left: 0;
    transform: translateY(120%);
    -webkit-transform: translateY(120%);
    -moz-transform: translateY(120%)
}

.js-title-wrap .js-title.active {
    transform: translateY(0%);
    -webkit-transform: translateY(0%);
    -moz-transform: translateY(0%)
}

@media only screen and (min-width: 769px) {
    .js-title-wrap {
        width:60vw
    }
}

@media only screen and (max-width: 768px) {
    .js-title-wrap {
        width:73vw
    }
}

.title-wrap {
    transition: 400ms
}

.title-wrap.disabled {
    opacity: 0
}

.slide-r .slide-cell,.slide-l .slide-cell {
    z-index: 0
}

.slide-r .slide-cell img,.slide-l .slide-cell img {
    transition: 900ms;
    height: 100%
}

.slide-r .slide-cell.active,.slide-l .slide-cell.active {
    z-index: 1
}

.slide-r .slide-cell.active img,.slide-l .slide-cell.active img {
    transform: translateY(0) scale(1)
}

.slide-r .slide-cell.active img:hover,.slide-l .slide-cell.active img:hover {
    transition: 0ms;
    transform: translateY(0) scale(1.1)
}

@media only screen and (min-width: 1601px) {
    .slide-r .slide-cell img {
        transform:translate3d(0, 900px, 0)
    }

    .slide-l .slide-cell img {
        transform: translate3d(0, -900px, 0)
    }
}

@media only screen and (min-width: 1281px) and (max-width: 1600px) {
    .slide-r .slide-cell img {
        transform:translate3d(0, 900px, 0)
    }

    .slide-l .slide-cell img {
        transform: translate3d(0, -900px, 0)
    }
}

@media only screen and (min-width: 1025px) and (max-width: 1280px) {
    .slide-r .slide-cell img {
        transform:translate3d(0, 800px, 0)
    }

    .slide-l .slide-cell img {
        transform: translate3d(0, -800px, 0)
    }
}

@media only screen and (min-width: 769px) and (max-width: 1024px) {
    .slide-r .slide-cell img {
        transform:translate3d(0, 700px, 0)
    }

    .slide-l .slide-cell img {
        transform: translate3d(0, -700px, 0)
    }
}

@media only screen and (min-width: 501px) and (max-width: 768px) {
    .slide-l .slide-cell img {
        transform:translate3d(0, -90vh, 0)
    }
}

#js-slide-l,#js-slide-r {
    transition: 900ms
}

#js-slide-l.disabled {
    transform: translateY(-100vh);
    opacity: 0
}

#js-slide-r.disabled {
    transform: translateY(100vh);
    opacity: 0
}

.slide-r .slide-cell.active img:hover,.slide-l .slide-cell.active img:hover {
    animation: scaleOnHover 400ms linear
}

@keyframes scaleOnHover {
    0% {
        transform: scale(1)
    }

    100% {
        transform: scale(1.1)
    }
}

@media only screen and (min-width: 768px) {
    .nav-item {
        position:relative
    }

    .nav-item::before {
        transform: scaleX(0.0001);
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        height: 1px;
        width: 100%;
        background-color: black;
        transition: transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1)
    }

    .nav-item.active::before {
        transform: scaleX(1)
    }

    .nav-item .wrapper:hover div {
        animation: textclip 1.5s linear;
        text-fill-color: transparent;
        -webkit-text-fill-color: transparent
    }

    .nav-item .wrapper div {
        color: #000;
        background: linear-gradient(to left, #000 30%, #fff 50%, #000 70%);
        background-size: auto auto;
        background-clip: border-box;
        background-size: 300% auto;
        -webkit-background-clip: text;
        display: inline-block
    }

    #projectsNav::before,#aboutNav.right-origin::before {
        transform-origin: center
    }

    #aboutNav.left-origin::before,#contactNav::before {
        transform-origin: center
    }

    @keyframes textclip {
        from {
            background-position: 300% center
        }
    }
}

.extra-space {
    height: 110px;
}

.tile-caption {
    font-family: Chronicle-Display-Semibold, serif;
    transition: .3s;
    transform: translateX(-25px)
}

.tile-caption:hover {
    transform: translateX(0)
}

.tile-caption.hover {
    transform: translateX(0)
}

.row-zero--vertical-image {
    background: url("../static/images/LinsmorePJ.jpg") no-repeat;
    background-size: cover
}

.row-last--vertical-image {
    background: url("../static/images/BostonKitchen_projectpagejpg.jpg") no-repeat;
    background-size: cover
}

.left.row-one--vertical-image {
    background: url("../static/images/Homepage 121221 Jason Ho 0131_edit.jpg") no-repeat;
    background-size: cover
}

.right.row-one--vertical-image {
    background: url("../static/images/Homepage 121221 Jason Ho 0167_edit.jpg") no-repeat;
    background-size: cover
}

.left.row-two--vertical-image {
    background: url("../static/images/131226_PauseStudioA_0066-Edit_10aug.jpg") no-repeat;
    background-size: cover
}

.right.row-two--vertical-image {
    background: url("../static/images/Homepage 131226_PauseStudioA_0219-Edit.jpg") no-repeat;
    background-size: cover
}

.row-zero--horizontal-image {
    background: url("../static/images/LinsmoreMobileHP.jpg") no-repeat;
    background-size: cover
}

.row-one--horizontal-image {
    background: url("../static/images/kitchen.jpg") no-repeat;
    background-size: cover
}

.row-two--horizontal-image {
    background: url("../static/images/pause.jpg") no-repeat;
    background-size: cover
}

.projects-page-title {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    z-index: 60;
    font-family: Chronicle-Display-Semibold, serif;
    top: 0
}

.projects-page-title span {
    display: block
}

.projects-page-title .white {
    color: white
}

.contact-us>p {
    font-family: Chronicle-Display-Semibold, serif;
    text-align: center
}

.contact-us .btn {
    transition: .3s;
    background: #ecebec
}

.contact-us .btn:hover {
    background: black
}

.contact-us .btn:hover * {
    color: white
}

.contact-us .btn p {
    font-family: SF-Pro-Text-Semibold, serif;
    transition: .3s;
    color: black
}

.button-holder {
    text-align: center;
}

.footer-wrap.fixed.disabled-for-project {
    display: none !important;
}

.tiles-start {
	margin-top: 50px;
}

@media only screen and (min-width: 1581px) {
    .tile {
        position:relative;
        display: inline-block
    }

    .tile:not(.full-vertical) {
        height: 578.633px
    }

    .tile.vertical {
        width: 411px;
        background: #fff
    }

    .tile.full-vertical {
        width: 100%;
        height: 890.1px
    }

    .tile.horizontal {
        width: 847px;
        background: #fff
    }

    .tile-image:not(.row-zero--vertical-image),.tile-image:not(.row-last--vertical-image) {
        height: 542.267px
    }

    .tile-image.row-zero--vertical-image,.tile-image.row-last--vertical-image {
        height: 853.733px
    }
}

@media only screen and (min-width: 1401px) and (max-width: 1580px) {
    .tile {
        position:relative;
        display: inline-block
    }

    .tile:not(.full-vertical) {
        height: 36.6vw
    }

    .tile.vertical {
        width: 26vw;
        background: #fff
    }

    .tile.full-vertical {
        width: 100%;
        height: 56.3vw
    }

    .tile.horizontal {
        width: 53.6vw;
        background: #fff
    }

    .tile-image:not(.row-zero--vertical-image),.tile-image:not(.row-last--vertical-image) {
        height: 34.3vw
    }

    .tile-image.row-zero--vertical-image,.tile-image.row-last--vertical-image {
        height: 54vw
    }
}

@media only screen and (min-width: 1401px) {
    .projects-page {
        padding-top:100px
    }

    .tiles-wrap {
        display: flex;
        justify-content: space-between;
        margin-bottom: 80px
    }

    .tile-caption {
        position: absolute;
        bottom: 0;
        font-size: 18px
    }

    .projects-page .contact-us {
        height: 275px;
        border-top: 1px solid #58595b;
        margin: 0 auto
    }

    .projects-page .contact-us>p {
        font-size: 50px;
        padding-top: 105px;
    }

    .projects-page .contact-us .btn {
        display: inline-block;
        width: 183px;
        height: 40px;
        margin: 60px 10px 0 10px;
        border-radius: 16px;
        text-align: center;
    }

    .projects-page .contact-us .btn .v-align {
        padding: 10px 0px;
        display: block;
        text-align: center;
        vertical-align: middle;
        width: 100%;
    }

    .projects-page .contact-us .btn .v-align .cell {
        display: inline-block;
        vertical-align: middle;
    }

    .projects-page .contact-us .btn .v-align .cell p {
        font-size: 16px
    }
}

@media only screen and (min-width: 1211px) and (max-width: 1400px) {
    .projects-page {
        padding-top:100px
    }

    .tiles-wrap {
        display: flex;
        justify-content: space-between;
        margin-bottom: 80px
    }

    .tile {
        position: relative;
        display: inline-block
    }

    .tile:not(.full-vertical) {
        height: 36.6vw
    }

    .tile.vertical {
        width: 26vw;
        background: #fff
    }

    .tile.full-vertical {
        width: 100%;
        height: 56.3vw
    }

    .tile.horizontal {
        width: 53.6vw;
        background: #fff
    }

    .tile-image:not(.row-zero--vertical-image),.tile-image:not(.row-last--vertical-image) {
        height: 34.3vw
    }

    .tile-image.row-zero--vertical-image,.tile-image.row-last--vertical-image {
        height: 54vw
    }

    .tile-caption {
        position: absolute;
        bottom: 0;
        font-size: 16px
    }

    .projects-page .contact-us {
        height: 275px;
        border-top: 1px solid #58595b;
        margin: 0 auto
    }

    .projects-page .contact-us>p {
        font-size: 50px;
        padding-top: 105px
    }

    .projects-page .contact-us .btn {
        display: inline-block;
        width: 183px;
        height: 40px;
        margin: 60px 10px 0 10px;
        border-radius: 16px;
    }

    .projects-page .contact-us .btn .v-align {
        padding: 10px 0px;
        display: block;
        text-align: center;
        vertical-align: middle
    }

    .projects-page .contact-us .btn .v-align .cell {
        display: inline-block;
        vertical-align: top
    }

    .projects-page .contact-us .btn .v-align .cell p {
        font-size: 16px
    }
}

@media only screen and (min-width: 966px) and (max-width: 1210px) {
    .projects-page {
        padding-top:100px
    }

    .tiles-wrap {
        display: flex;
        justify-content: space-between;
        margin-bottom: 55px
    }

    .tile {
        position: relative;
        display: inline-block
    }

    .tile:not(.full-vertical) {
        height: 36.6vw
    }

    .tile.vertical {
        width: 26vw;
        background: #fff
    }

    .tile.full-vertical {
        width: 100%;
        height: 56.3vw
    }

    .tile.horizontal {
        width: 53.6vw;
        background: #fff
    }

    .tile-image:not(.row-zero--vertical-image),.tile-image:not(.row-last--vertical-image) {
        height: 34.3vw
    }

    .tile-image.row-zero--vertical-image,.tile-image.row-last--vertical-image {
        height: 54vw
    }

    .tile-caption {
        position: absolute;
        bottom: 0;
        font-size: 14px
    }

    .projects-page .contact-us {
        height: 250px;
        border-top: 1px solid #58595b;
        margin: 0 auto
    }

    .projects-page .contact-us>p {
        font-size: 40px;
        padding-top: 105px;
    }

    .projects-page .contact-us .btn {
        display: inline-block;
        width: 183px;
        height: 40px;
        margin: 60px 10px 0 10px;
        border-radius: 16px;
    }

    .projects-page .contact-us .btn .v-align {
        padding: 10px 0px;
        display: block;
        text-align: center;
        vertical-align: middle;
    }

    .projects-page .contact-us .btn .v-align .cell {
        display: inline-block;
        vertical-align: top
    }

    .projects-page .contact-us .btn .v-align .cell p {
        font-size: 16px
    }
}

@media only screen and (min-width: 966px) {
    .tile-image.right {
        display:none
    }
}

@media only screen and (min-width: 769px) and (max-width: 965px) {
    .projects-page {
        padding-top:80px
    }

    .tiles-wrap {
        margin-bottom: 55px;
        display: flex;
        justify-content: space-between
    }

    .tile {
        height: 36.6vw;
        position: relative
    }

    .tile.vertical {
        background: #fff
    }

    .tile.vertical .double-image {
        display: flex;
        justify-content: space-between
    }

    .tile.vertical .double-image .tile-image {
        width: 26vw;
        height: 34.3vw
    }

    .tile.vertical .double-image .tile-image.right {
        display: none
    }

    .tile.full-vertical {
        width: 100%;
        height: 56.3vw
    }

    .tile.horizontal {
        width: 53.6vw;
        background: #fff
    }

    .tile-image:not(.row-zero--vertical-image),.tile-image:not(.row-last--vertical-image) {
        height: 34.3vw
    }

    .tile-image.row-zero--vertical-image,.tile-image.row-last--vertical-image {
        height: 54vw
    }

    .tile-caption {
        position: absolute;
        bottom: 0;
        font-size: 14px
    }

    .projects-page .contact-us {
        height: 250px;
        border-top: 1px solid #58595b;
        margin: 0 auto
    }

    .projects-page .contact-us>p {
        font-size: 40px;
        padding-top: 105px;
    }

    .projects-page .contact-us .btn {
        display: inline-block;
        width: 183px;
        height: 40px;
        margin: 60px 10px 0 10px;
        border-radius: 16px;
    }

    .projects-page .contact-us .btn .v-align {
        padding: 10px 0px;
        display: block;
        text-align: center;
        vertical-align: middle;
    }

    .projects-page .contact-us .btn .v-align .cell {
        display: inline-block;
        vertical-align: top
    }

    .projects-page .contact-us .btn .v-align .cell p {
        font-size: 16px
    }
}

@media only screen and (min-width: 701px) and (max-width: 768px) {
    .projects-page {
        padding-top:80px
    }

    .tiles-wrap {
        margin-bottom: 55px;
        padding-left: 10.4vw;
        padding-right: 10.4vw;
        display: flex;
        justify-content: space-between
    }

    .tile {
        height: 270px;
        position: relative
    }

    .tile.vertical {
        background: #fff
    }

    .tile.vertical .double-image {
        display: flex;
        justify-content: space-between
    }

    .tile.vertical .double-image .tile-image {
        width: 179px;
        height: 236px
    }

    .tile.vertical .double-image .tile-image.right {
        display: none
    }

    .tile.full-vertical {
        width: 100%;
        height: 407px
    }

    .tile.horizontal {
        width: 369px;
        background: #fff
    }

    .tile-image:not(.row-zero--vertical-image),.tile-image:not(.row-last--vertical-image) {
        height: 236px
    }

    .tile-image.row-zero--vertical-image,.tile-image.row-last--vertical-image {
        height: 372px
    }

    .tile-caption {
        position: absolute;
        bottom: 0;
        font-size: 14px
    }

    .projects-page .contact-us {
        height: 250px;
        border-top: 1px solid #58595b;
        margin-left: 10.4vw;
        margin-right: 10.4vw;
        width: auto
    }

    .projects-page .contact-us>p {
        font-size: 32px;
        padding-top: 105px;
    }

    .projects-page .contact-us .btn {
        display: inline-block;
        width: 183px;
        height: 40px;
        margin: 60px 10px 0 10px;
        border-radius: 16px;
    }

    .projects-page .contact-us .btn .v-align {
        padding: 10px 0px;
        display: block;
        text-align: center;
        vertical-align: middle;
    }

    .projects-page .contact-us .btn .v-align .cell {
        display: inline-block;
        vertical-align: top
    }

    .projects-page .contact-us .btn .v-align .cell p {
        font-size: 16px
    }
}

@media only screen and (min-width: 501px) and (max-width: 700px) {
    .projects-page {
        padding-top:80px
    }

    .tiles-wrap {
        margin: 0 10.4vw 55px 10.4vw
    }

    .tiles-wrap .tile:last-child:not(.full-vertical) {
        margin-top: 55px
    }

    .tile {
        height: 56vw;
        position: relative
    }

    .tile.vertical {
        background: #fff
    }

    .tile.vertical .double-image {
        display: flex;
        justify-content: space-between
    }

    .tile.vertical .double-image .tile-image {
        max-width: 295px;
        width: 47%
    }

    .tile.full-vertical {
        width: 100%
    }

    .tile.horizontal {
        max-width: 609px;
        width: 100%;
        background: #fff
    }

    .tile-image {
        height: 52vw
    }

    .tile-caption {
        position: absolute;
        bottom: 0;
        font-size: 14px
    }

    .projects-page .contact-us {
        height: 250px;
        border-top: 1px solid #58595b;
        margin-left: 10.4vw;
        margin-right: 10.4vw;
        width: auto
    }

    .projects-page .contact-us>p {
        font-size: 32px;
        padding-top: 105px;
    }

    .projects-page .contact-us .btn {
        display: inline-block;
        width: 183px;
        height: 40px;
        margin: 60px 10px 0 10px;
        border-radius: 16px;
    }

    .projects-page .contact-us .btn .v-align {
        padding: 10px 0px;
        display: block;
        text-align: center;
        vertical-align: middle;
    }

    .projects-page .contact-us .btn .v-align .cell {
        display: inline-block;
        vertical-align: top
    }

    .projects-page .contact-us .btn .v-align .cell p {
        font-size: 16px
    }
}

@media only screen and (min-width: 501px) {
    .projects-page {
        margin-top:130px
    }
}

@media only screen and (max-width: 500px) {
    .projects-page {
        display:none !important
    }
	.footer-item.center.link-item {
		display: none !important;
	}
	a.dropLink {
		width: 100% !important;
	}

	a.dropLink+ul {
		position: initial !important;
	}

	a.dropLink+ul {
		position: initial !important;
	}

	.contact-content .container .body-copy .copy.link-item u {
		position: initial !important;
		display: block;
		width: 100%;
	}

	p.copy.link-item {
		display: flex;
		flex-direction: column;
		row-gap: 10px;
	}

	.contact-ref:last-child {margin-bottom: 60px;}
}

@media only screen and (min-width: 966px) {
    .projects-page-title {
        font-size:110px;
        line-height: 100px
    }
}

@media only screen and (max-width: 965px) {
    .projects-page-title {
        font-size:80px;
        line-height: 76px
    }
}

@media only screen and (min-width: 1581px) {
    .projects-page {
        width:100%;
        max-width: 1440px;
        margin-top: 130px;
        margin-right: auto;
        margin-left: auto
    }
}

@media only screen and (min-width: 1025px) and (max-width: 1580px) {
    .projects-page {
        padding-left:50px;
        padding-right: 50px;
        max-width: 1440px
    }
}

@media only screen and (min-width: 769px) and (max-width: 1024px) {
    .projects-page {
        padding-left:50px;
        padding-right: 50px;
        max-width: 1440px
    }
}

.projects-page {
    transition: 900ms;
    opacity: 1;
    transform: translateY(0)
}

.projects-page.disabled {
    visibility: hidden;
    opacity: 0 !important;
    transform: translateY(110vh) !important;
    display: none
}

@media only screen and (min-width: 1025px) {
    .home-page *,.projects-page *,.about-page *,.contact-page *,.header-wrap * {
        cursor:none
    }

    body.tutorial {
        --color-text: #000;
        --color-link: #000
    }

    .cursor {
        position: fixed;
        left: 0;
        top: 0;
        pointer-events: none
    }

    .cursor--small {
        width: 5px;
        height: 5px;
        left: -2.5px;
        top: -2.5px;
        border-radius: 50%;
        z-index: 11000;
        background: var(--color-text)
    }

    .cursor--canvas {
        width: 100vw;
        height: 100vh;
        z-index: 12000
    }
}

@media only screen and (max-width: 1024px) {
    .cursor {
        display:none
    }
}

/*# sourceMappingURL=style.css.map */
