/* --- BASE CSS --- */

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

::selection { 
    background: #5f5f5f;
    color: #f7f7f7;
    text-shadow: none;
}      
        
body { 
    position: fixed;
    width: 100vw;
    margin: 0;
    padding: 0;
    color: #f7f7f7; 
    background: #070707;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

body.render {
    position: relative;
}

body,
.site-wrapper {
    overflow-x: hidden;
    font-feature-settings: "dlig";
}

body a {
    text-decoration: none;
    outline: none;
}

body:before {
    content: 'Timur Shakirov';
    font-family: 'alpine-script', sans-serif;
    font-size: 3rem;
    font-weight: normal;
    letter-spacing: .02em;
    line-height: 1;
    color: #f7f7f7;
    position: absolute;
    left: calc(50% - 106.33px);
    top: calc(2.5% - 24px);
    opacity: 1;
    pointer-events: none;
    -webkit-transition: opacity .3s ease-in-out;
    -moz-transition: opacity .3s ease-in-out;
    -ms-transition: opacity .3s ease-in-out;
    -o-transition: opacity .3s ease-in-out;
    transition: opacity .3s ease-in-out;
}

body.render:before {
    opacity: 0;
}

/* --- ANIMATIONS --- */

.js body .nav-header,
.js body .showreel-cta,
.js body .scroll { 
    opacity: 0;
}

.js body .nav-header {
    transform: translate(-105px,0);
}

.js body .showreel-cta,
.js body .scroll {
    transform: translate(210px,0);
}

.js body.render .nav-header,
.js body.render .showreel-cta,
.js body.render .scroll {
    transition: transform 1s cubic-bezier(.82,.01,.17,1);
    transition-delay: 3.75s;
    transform: translate(0,0);
    -webkit-transition-timing-function: cubic-bezier(.82,.01,.17,1);
    transition-timing-function: cubic-bezier(.82,.01,.17,1);
    opacity: 1;
}

/* --- GLOBAL CSS --- */

.title,
.text,
.link,
.cta,
.desc,
.info,
a {
    font-family: 'ivymode', sans-serif;
    color: #f7f7f7;
    mix-blend-mode: difference;
    padding: 0;
    margin: 0;
}

span {
    font-family: 'ivymode', sans-serif;
    padding: 0;
    margin: 0;
}

.title--large,
.title--medium,
.title--small {
    font-weight: 700;
    text-transform: uppercase;
    line-height: 1;
}

.title--large {
    font-size: 5.5rem;
    letter-spacing: -.03em;
    max-width: 40%;
    margin: 0 0 1.5em 2.15em;
}

.title--medium {
    font-size: 3.3rem;
    letter-spacing: -.02em;
}

.title--small {
    font-size: 2.77rem;
    letter-spacing: -.01em;
}

.text--large {
    font-size: 4rem;
    font-weight: 700;
    letter-spacing: -.03em;
    line-height: 1.1;
}

.text--medium {
    font-size: 1.77rem;
    letter-spacing: -.01em;
    line-height: 1.35;
}

.text--small {
    font-size: 1.55rem;
    letter-spacing: normal;
    line-height: 1.2;
}

.text--tiny {
    font-size: 1.4rem;
    letter-spacing: .02em;
    line-height: 1.35;
}

.cta {
    text-transform: uppercase;
}

.info {
    font-size: .77rem;
    font-weight: 300;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: #f7f7f7;
    height: 25%;
    position: absolute;
    right: 3.77em;
    -webkit-writing-mode: vertical-rl;
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
}

svg path {
    fill: #f7f7f7 !important;
}

/* --- NAV HEADER --- */

.nav-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 9%;
    height: 100vh;
    z-index: 7;
    writing-mode: vertical-lr;
    mix-blend-mode: difference;
}

.nav-wrapper {
    display: grid;
    justify-items: center;
    position: relative;
    top: 7em;
    left: 0;
    width: 100%;
    transform: rotate(-180deg);
}

.logo-container {
    position: absolute;
    align-self: center;
    justify-self: end;
    transform: rotate(90deg);
}

.logo {
    margin: 0 0 .7em;
    transition: .2s ease;
}

/* WebKit Browsers */

@media screen and (-webkit-min-device-pixel-ratio:0) {
    .main-nav {
        margin: -7em 0 0 0;
    }
}

/* Firefox Only */

@supports (-moz-appearance:none) {
    .main-nav {
        margin: 0 0 7.7em 0;
    } 
}

.nav-container {
    display: inline-flex;
    margin: 0;
    list-style-type: none;
}

.main-nav {
    align-self: center;
}

.main-nav a {
    font-size: .77rem;
    font-weight: normal;
    text-transform: uppercase;
    text-decoration: none;
    margin-top: 1.7em;
    color: inherit;
}

.main-nav a.active {
    transition: .2s ease;
}

/* --- LINK ANIMATION --- */

.main-nav a,
.email-link {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    position: relative;
    overflow: hidden;
}

.main-nav a:before,
.external-link:before,
.email-link:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    background: #070707;
    width: 1px;
    height: 0;
    z-index: 1;
    -webkit-transition-property: height;
    transition-property: height;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-timing-function: ease;
    transition-timing-function: ease;
}

.email-link:before {
    top: unset;
    bottom: 0;
    left: unset;
    right: 0;
    width: 100%;
    height: 5px;
    background: #f7f7f7;
    -webkit-transition-property: width;
    transition-property: width;
}

.main-nav a:hover:before,
.external-link:hover:before {
    height: 100%;
}

.email-link:hover:before {
    width: 0;
}

.main-nav a:hover:before,
.email-link:hover:before {
    background: #f7f7f7;
}

/* --- MOBILE NAV --- */

.nav-footer.mobile {
    display: none;
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100vw;
    height: 60px;
    background: #070707;
    z-index: 77;
}

.nav-footer .mobile-nav {
    height: 100%;
}

.nav-footer .mobile-nav .nav {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 0;
    margin: 0;
    list-style-type: none;
}

.nav-footer .mobile-nav .nav li a {
    font-size: .9rem;
    font-weight: normal;
    text-decoration: none;
    margin: 0 .85em;
    color: #f7f7f7;
}

/* --- INTRO HEADER --- */

.site-wrapper:before,
.intro-heading:before {
    content: '';
    width: 0;
    height: 100vh;
    background: #f7f7f7;
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;
    -webkit-transition-property: width;
    transition-property: width;
    -webkit-transition-duration: 1s;
    transition-duration: 1s;
    -webkit-transition-timing-function: cubic-bezier(.4,0,0,1);
    transition-timing-function: cubic-bezier(.4,0,0,1);
}

.site-wrapper:before {
    transition-delay: .5s;
}

.intro-heading:before {
    position: absolute;
    left: 31%;
    z-index: 1;
    mix-blend-mode: difference;
    transition-delay: 3s;
}

.js body.render .site-wrapper:before,
.js body.render .intro-heading:before {
    width: 69%;
}

.intro {
    width: 100vw;
    min-height: 100vh;
    padding: 0 0 18%;
    margin: 0;
}

.intro .intro-heading {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 103vh;
}

.intro .intro-heading .headline {
    font-family: 'ivymode', sans-serif;
    font-weight: 700;
    letter-spacing: -.5em;
    line-height: 1.3;
    position: relative;
    padding: 0;
    margin: 0;
    transition: .2s ease;
    -webkit-user-select: none;  
    -moz-user-select: none;     
    -ms-user-select: none;
    user-select: none;
}

.intro .intro-heading .line1 {
    left: -.3em;
}

.intro .intro-heading .line2 {
    right: -.33em;
}

.intro .intro-heading .line1,
.intro .intro-heading .line2 {
    font-size: calc(14vw + 7.7vh);
    mix-blend-mode: difference;
}

.intro .intro-heading .line2 {
    top: -.33em;
}

.intro .intro-heading .line-wrap {
    display: block;
    position: relative;
    overflow: hidden;
}

.intro .intro-heading .line-wrap .line-inner {
    display: inline-block;
    transform: translate3d(0,111%,0);
    transition: transform 1.2s cubic-bezier(.4,0,0,1);
}

.intro .intro-heading .line1 .line-inner {
    transition-delay: 1.25s;
}

.intro .intro-heading .line2 .line-inner {
    transition-delay: 1.75s;
}

.js body.render .intro-heading .line-inner {
    transform: translateZ(0);
}

.intro .intro-heading .line-inner .line {
    pointer-events: none;
}

.intro .intro-heading .ampersand {
    font-family: 'ivymode', sans-serif;
    font-size: calc(44vw + 33vh);
    font-weight: 700;
    line-height: .77;
    position: absolute;
    top: -.055em;
    right: -.037em;
    z-index: 0;
    color: transparent;
    -webkit-text-stroke: 1px #070707;
    opacity: 0;
}

.js body.render .intro-heading .ampersand {
    transition: opacity 1s cubic-bezier(.4,0,0,1);
    transition-delay: 1.55s;
    opacity: .2;
}

.intro .hello {
    margin: 18% 0 0 17%;
}

.intro .hello .line-1 {
    font-size: 4rem;
    font-weight: 700;
    line-height: 1.5;
    left: -.05em;
    color: #f7f7f7;
    letter-spacing: -.03em;
    text-align: left;
    display: block;
    position: relative;
    margin-bottom: .2em;
    mix-blend-mode: difference;
}

.intro .intro-text {
    width: 50%;
    font-size: 3.7rem;
    font-weight: 600;
    letter-spacing: -.02em;
}

.intro .scroll {
    top: calc(100vh - 165px);
    z-index: 1;
}

/* --- ROTATING BACKGROUND --- */

.bg-headline {
    width: 100vw;
    height: 100vh;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 0;
    display: none;
}

.bg-letters {
    font-family: 'ivymode', sans-serif;
    font-size: calc(11vw + 7vh);
    font-weight: 700;
    line-height: .3;
    color: transparent;
    -webkit-text-stroke: 1px #070707;
}

/* --- FEATURED CASE STUDY --- */

.case-study {
    display: none;
}

.case-study .cs-container {
    display: grid;
    grid-template-columns: 45% 1fr;
    grid-gap: 1.5em;
}

.case-study .cs-info {
    margin: 0 0 0 44%;
}

.case-study h2 {
    padding: 0;
    margin: 0 0 .7em;
}

.case-study p {
    font-size: 1.55rem;
    font-weight: 300;
    letter-spacing: 0.02em;
    line-height: 1.35;
    margin: 0;
}

.case-study .cta {
    font-weight: 600;
    display: block;
    margin-top: 2.5em;
}

.case-study .cs-image {
    height: 397px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border: 5px double #f7f7f7;
    mix-blend-mode: difference;
}

.case-study .cs-image {
    background-image: url('../work/ar-point.jpg');
}

/* --- SECTIONS --- */

.work,
.clients,
.process,
.quote,
.about,
.contact {
    width: 100vw;
    position: relative;
    padding: 12% 0 18%;
    margin: 0;
}

.hello:after,
.work:after,
.clients:after,
.process:after,
.about:after,
.contact:after {
    font-family: 'ivymode', sans-serif;
    font-size: calc(11.7vw + 7.7vh);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: -.04em;
    color: transparent;
    -webkit-text-stroke: 1px #272727;
    opacity: .99;
    position: absolute;
    right: .25em;
    z-index: -1;
    -webkit-writing-mode: vertical-rl;
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
}

.hello:after {
    content: 'Hello';
    top: calc(100vh + .9em);
}

.work:after {
    content: 'Work';
    top: .55em;
}

.clients:after {
    content: 'Clients';
    top: .7em;
}

.process:after {
    content: 'Process';
    top: 1.137em;
}

.about:after {
    content: 'About';
    top: .8em;
}

.contact:after {
    content: 'Contact';
    top: .77em;
}

.contact {
    padding-bottom: 20%;
}

.clients .clients-praise,
.about .about-bio,
.contact .contact-info {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    margin: 0 auto;
}

.clients .title {
    margin-left: 0;
}

.about .title {
    margin: 0 -.33em 0 0;
}

.testimonial {
    max-width: 35.5vw;
    margin: 3em -2.77em 3em -5.5em;
    position: relative;
    z-index: 1;
}

.testimonial .testimonial-content {
    text-align: left;
}

.testimonial .testimonial-content p {
    font-size: 3.13rem;
    position: relative;
    margin: 2em 0 1.5em;
}

.testimonial .testimonial-content .client-name {
    margin-left: .3em;
}

.client-image {
    max-width: 32vw;
    position: relative;
}

.client-image .image-container img {
    width: 32vw;
}

.about-container {
    display: flex;
    width: 70vw;
}

.bio {
    margin: 13em -13em 0;
}

.bio .bio-content {
    position: relative;
    max-width: 63%;
}

.bio .bio-content p {
    font-weight: 300;
    position: relative;
    margin: 0 0 1.5em;
}

.designer-name {
    display: inline-block;
    mix-blend-mode: difference;
}

.about-image {
    max-width: 37vw;
    position: relative;
    margin-top: 11em;
}

.about-image .image-container img {
    width: 32vw;
}

/* --- CONTACT SECTION --- */

.contact-container {
    position: relative;
}

.contact-info {
    width: 64vw;
}

.enquiry-cta {
    position: absolute;
    top: calc(17.5% - 65px);
    right: calc(31% - 65px);
    z-index: 13;
    cursor: pointer;
    outline: none;
    mix-blend-mode: unset;
}

.enquiry-btn {
    font-size: .7rem;
    letter-spacing: .03em;
    text-transform: uppercase;
    line-height: 1.2;
    width: 130px;
    height: 130px;
    padding: 2em 2em 2.2em;
    border-radius: 50%;
    border-color: #5f5f5f;
    border-width: 5px;
    border-style: double;
    background: #070707;
    color: #f7f7f7;
    cursor: pointer;
    outline: none;
    transform: rotate(-22.5deg);
    transition: .3s ease;
}

.enquiry-btn:hover {
    transform: rotate(0deg);
}

.contact .availability {
    top: calc(50% - 222px);
}

.contact-info h1 {
    margin-left: -.55em;
    margin-top: .2em;
}

.contact-info h2 {
    width: 70%;
    position: relative;
    margin: 1.5em 0 1em;
}

.contact-info p {
    font-size: 1.65rem;
    font-weight: 300;
    line-height: 1.4;
    margin: 0 0 2.5em;
}

.contact-info .email-link {
    font-size: 3.55rem;
    font-weight: 700;
    letter-spacing: -.03em;
    text-decoration: none;
    position: relative;
    z-index: 1;
}

.contact-info .desc.mobile {
    display: none;
}

/* --- ENQUIRY FORM --- */

.project-enquiry {
    width: 69%;
    position: absolute;
    top: 25.11%;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: hidden;
    visibility: hidden;
    display: none;
}

.enquiry-form.overlay--open {
    display: none;
    z-index: 111;
}

.project-enquiry .form-container {
    background: #111111;
    padding: 0;
}

.project-enquiry .form-content--wrapper {
    width: 100%;
    height: 100%;
    overflow: scroll;
}

.project-enquiry .form-content {
    width: 77%;
    padding: 11% 0;
    margin: 0 auto;
}

.project-enquiry .form-content h2 {
   font-size: 4.4rem;
   letter-spacing: -.02em;
   line-height: .95;
   margin-bottom: .55em;
}

.project-enquiry .form-content h3 {
    font-size: 2.9rem;
    font-weight: 600;
    letter-spacing: -.01em;
    line-height: 1.05;
    margin-bottom: 1em;
}

.project-enquiry .form-content h2 {
    color: #5f5f5f;
}

.project-enquiry .form-content h3 {
    color: #d7d7d7;
}

.project-enquiry .form-content h2,
.project-enquiry .form-content h3 {
    text-transform: none;
}

.project-enquiry .overlay .overlay__content {
    transform: none !important;
}

.project-enquiry .enquiry-form .title,
.project-enquiry .enquiry-form .text,
.project-enquiry .enquiry-form a,
.project-enquiry .enquiry-form span {
    mix-blend-mode: unset;
}

.project-enquiry .overlay .overlay__close {
    background: #5f5f5f;
}

/* --- WORK --- */

.work .projects {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    grid-gap: 17em;
    max-width: 70vw;
    margin: 11.88em auto 5.55em;
}

.work .project {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 1;
}

.work .project,
.work .project .color-indicator {
    padding: 0;
    margin: 0;
    transition: .55s cubic-bezier(.77,.01,.13,1);
}

.work .project {
    width: 30rem;
    height: 30rem;
}

.work .project:hover {
    cursor: pointer;
}

.work .project .color-indicator {
    width: 28rem;
    height: 28rem;
    position: absolute;
}

.work .project.kr,
.work .project.rj,
.work .project.mk,
.work .project.jc {
    justify-self: start;
    left: 6.55em;
}

.work .project.ap,
.work .project.hb,
.work .project.sm,
.work .project.toc {
    justify-self: end;
    right: 4.55em;
}

.work .project-container {
    width: 100%;
    height: 100%;
    border: 8px double #cbcbcb;
    transform: rotate(45deg);
    transition: .55s cubic-bezier(.77,.01,.13,1);
}

.work .project:hover .color-indicator {
    transform: rotate(45deg);
}

.work .project.kr .color-indicator {
    background: #885031;
}

.work .project.kr:hover .project-container {
    border: 8px double #885031;
}

.work .project.ap .color-indicator {
    background: #220089;
}

.work .project.ap:hover .project-container {
    border: 8px double #220089;
}

.work .project.rj .color-indicator {
    background: #111315;
}

.work .project.rj:hover .project-container {
    border: 8px double #111315;
}

.work .project.hb .color-indicator {
    background: #ffb533;
}

.work .project.hb:hover .project-container {
    border: 8px double #ffb533;
}

.work .project.mk .color-indicator {
    background: #e85828;
}

.work .project.mk:hover .project-container {
    border: 8px double #e85828;
}

.work .project.sm .color-indicator {
    background: #b61414;
}

.work .project.sm:hover .project-container {
    border: 8px double #b61414;
}

.work .project.jc .color-indicator {
    background: #342f31;
}

.work .project.jc:hover .project-container {
    border: 8px double #342f31;
}

.work .project.toc .color-indicator {
    background: #194981;
}

.work .project.toc:hover .project-container {
    border: 8px double #194981;
}

.work .project .project-title,
.work .project .project-title--hover {
    font-size: 3.3rem;
    font-weight: 700;
    letter-spacing: -.02em;
    line-height: .95;
    text-align: center;
    position: relative;
    margin: 0;
}

.work .project .project-title--hover {
    font-size: 3rem;
    text-transform: uppercase;
    line-height: 1.05;
    color: transparent;
    position: absolute;
    white-space: nowrap;
    cursor: default;
    pointer-events: none;
    -webkit-writing-mode: vertical-rl;
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
}

.work .project.kr .project-title--hover,
.work .project.rj .project-title--hover,
.work .project.mk .project-title--hover,
.work .project.jc .project-title--hover {
    right: -4.4em;
}

.work .project.ap .project-title--hover,
.work .project.hb .project-title--hover,
.work .project.sm .project-title--hover,
.work .project.toc .project-title--hover {
    left: -4.4em;
    transform: rotate(180deg);
}

.work .project .project-title--hover:before {
    content: attr(data-hover);
    position: absolute;
    top: 0;
    left: 0;
    height: 0;
    overflow: hidden;
    white-space: nowrap;
    -webkit-text-stroke: 0;
    text-stroke: 0;
    -webkit-text-fill-color: #070707;
    text-fill-color: #070707;
    color: #070707;
    -webkit-writing-mode: vertical-rl;
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    transition: .3s cubic-bezier(.55,.01,.33,1);
}

.work .project:hover .project-title--hover:before {
    height: 100%;
    width: 100%;
    transition-delay: .4s;
}

.work .project .project-title--hover:hover:before {
    height: 0;
}

.work .project.kr .project-title--hover:before,
.work .project.rj .project-title--hover:before,
.work .project.mk .project-title--hover:before,
.work .project.jc .project-title--hover:before {
    -webkit-text-fill-color: #f7f7f7;
    text-fill-color: #f7f7f7;
    color: #f7f7f7;
}

.work .project.kr .project-title,
.work .project.kr .project-cta {
    color: #150c07;
}

.work .project.ap .project-title,
.work .project.ap .project-cta {
    color: #f0ebff;
}

.work .project.rj .project-title,
.work .project.rj .project-cta {
    color: #f3f5f6;
}

.work .project.hb .project-title,
.work .project.hb .project-cta {
    color: #473629;
}

.work .project.mk .project-title,
.work .project.mk .project-cta {
    color: #321106;
}

.work .project.sm .project-title,
.work .project.sm .project-cta {
    color: #170303;
}

.work .project.jc .project-title,
.work .project.jc .project-cta {
    color: #e4e1e2;
}

.work .project.toc .project-title,
.work .project.toc .project-cta {
    color: #ecf3fb;
}

.work .project .project-desc {
    font-size: 1.05rem;
    font-weight: 400;
    letter-spacing: normal;
    display: block;
    margin: 1em 0 0;
}

.work .project .project-cta {
    font-size: 1.1rem;
    font-weight: 600;
    letter-spacing: normal;
    text-transform: uppercase;
    margin: 1.5em 0 0;
    z-index: 0;
}

.work .project,
.work .project:hover,
.work .project:active,
.work .project:focus {
    text-decoration: none;
}

/* --- PROJECT HOVER IMAGE --- */

.project-link {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: 100%;
    height: 100%;
    position: relative;
    padding: 0 4em;
    cursor: pointer;
    mix-blend-mode: unset;
    transform: rotate(-45deg);
}

.hover-reveal {
    position: fixed;
    left: -10% !important;
    top: -10% !important;
    width: 120%;
    height: 120%;
    pointer-events: none;
	opacity: 0;
}

.hover-reveal__inner,
.hover-reveal__img {
	width: 100%;
	height: 100%;
	position: relative;
}

.hover-reveal__deco {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background-color: unset;
}

.hover-reveal__img {
    background-size: contain;
    background-repeat: no-repeat;
	background-position: 50% 50%;
}

/* --- SCROLL ANIMATION --- */

.slideUpfast.visible {
    transition: transform .77s ease, opacity .77s ease;
    transition-delay: .3s;
	transform: translate(0,0);
	opacity: 1;
}

.slideUpfast.invisible {
	transition: transform .77s ease, opacity .77s ease;
	transform: translate(0,55px);
    opacity: 0;
}

.slideUpslow.visible {
    transition: transform 1s ease, opacity 1s ease;
	transform: translate(0,0);
	opacity: 1;
}

.slideUpslow.invisible {
	transition: transform 1s ease, opacity 1s ease;
	transform: translate(0,55px);
    opacity: 0;
}

.slideRight.visible {
    transition: transform .77s ease, opacity .77s ease;
	transform: translate(0,0);
	opacity: 1;
}

.slideRight.invisible {
	transition: transform .77s ease, opacity .77s ease;
	transform: translate(55px,0);
    opacity: 0;
}

.slideRight.visible {
    transition-delay: .4s;
}

.testimonial-content--anim.visible {
    transition: transform 1s ease, opacity 1s ease;
	transform: translate(0,0);
	opacity: 1;
}

.title.visible,
.intro-heading h2.visible {
    transition-delay: .3s;
}

.quote-content.visible {
    transition-delay: .2s;
}

.project.visible {
    transition-delay: .15s;
}

.testimonial-content--anim.visible,
.bio-content.visible,
.desc.visible {
    transition-delay: .4s;
}

.client-name.visible,
.designer-name.visible,
.email-link.visible {
    transition-delay: .1s;
}

.testimonial-content--anim.invisible {
    transition: transform .77s ease, opacity .77s ease;
	transform: translate(0,50px);
	opacity: 0;
}

.fadeInfast.visible,
.slidenav.visible {
    transition: opacity .77s ease;
    transition-delay: .5s;
    opacity: 1;
}

.fadeInfast.invisible {
    transition: opacity .77s ease;
    opacity: 0;
}

.fadeInslow.visible {
    transition: opacity 1s ease;
    opacity: 1;
}

.fadeInslow.invisible {
    transition: opacity 1s ease;
    opacity: 0;
}

.slidenav.visible {
    transition-delay: .4s;
}

.fadeInfast.invisible,
.slidenav.invisible {
    transition: opacity 1s ease;
    opacity: 0;
}

/* --- TESTIMONIALS SLIDER --- */

.testimonials-slider {
	position: relative;
    width: 70vw;
    margin-top: -7.5em;
	pointer-events: none;
}

.testimonials-slider .testimonial-slide {
	width: 100%;
	height: 100%;
	top: 0;
	position: absolute;
	display: grid;
	justify-items: center;
}

.testimonials-slider .slide--current {
	position: relative;
}

.testimonials-slider .client-img--anim {
    width: 100%;
    display: flex;
    justify-content: flex-end;
}

.testimonials-slider .testimonial-content--anim {
    width: 100%;
    position: absolute;
    mix-blend-mode: difference;
}

.testimonials-slider .testimonial-content {
    font-family: 'ivymode', sans-serif;
    font-size: 2.55rem;
    font-weight: 600;
    letter-spacing: -.02em;
    line-height: 1.15;
    color: #f7f7f7;
    width: 41%;
    position: absolute;
    justify-self: start;
    margin: 13.7% 0 0 10%;
    opacity: 0;
}

.testimonial-slide.mk .testimonial-content {
    width: 47%;
    margin-left: 4%;
}

.testimonial-slide.jc .testimonial-content {
    width: 45%;
    margin-left: 7%;
}

.testimonial-slide.rj .testimonial-content {
    width: 44%;
    margin-left: 8%;
}

.testimonial-slide.yd .testimonial-content {
    width: 48%;
    margin-left: 4%;
}

.testimonials-slider .testimonial-content .quote-mark--open {
    margin-left: -.5em;
    margin-right: .1em;
}

.testimonials-slider .testimonial-content .quote-mark--close {
    margin-left: .03em;
}

.testimonials-slider .client-image {
	width: 100%;
	height: calc(100vh - 15rem);
    max-height: 100%;
    justify-self: end;
    position: relative;
    overflow: hidden;
	opacity: 0;
}

.testimonials-slider .testimonial-content .client-name {
    font-size: 1.05rem;
    font-weight: 400;
    letter-spacing: normal;
    line-height: 1.3;
    color: #f7f7f7;
    display: block;
    margin: 2em 0 0 .1em;
}

.testimonials-slider .slide-img {
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background-size: cover;
	background-position: 50% 50%;
	position: absolute;
	backface-visibility: hidden;
	pointer-events: none;
}

.testimonials-slider .slide-img--reveal {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: #070707;
	transform: translate3d(-100%,0,0);
	pointer-events: none;
}

.testimonials-slider .slide-number {
    display: none;
	font-size: 2rem;
	position: absolute;
	top: 5.25rem;
	opacity: 0;
}

.slide--current .testimonial-content,
.slide--current .client-image,
.slide--current .slide-number {
	opacity: 1;
}

.testimonials-slider .slidenav {
    position: absolute;
    right: -27.5px;
    bottom: calc(50% - 35px);
    width: 55px;
    height: 100px;
    pointer-events: none;
    text-align: center;
    padding: 0;
}

.testimonials-slider .slidenav__item {
    font-size: 1.11rem;
    color: #070707;
    line-height: 47px;
    background: none;
    display: flex;
    justify-content: center;
    width: 100%;
    height: 50%;
    padding: 0 !important;
    margin: 0;
    border: 0;
    position: relative;
    pointer-events: auto;
    cursor: pointer;
    outline: none;
}

.slidenav__item.slidenav__item--prev {
    background: #5f5f5f;
    color: #f7f7f7;
    padding-right: .2em;
}

.slidenav__item.slidenav__item--next {
    background: #f7f7f7;
    color: #070707;
    padding-left: .2em;
}

/* --- SHOWCASE REEL --- */

.showcase-reel {
    position: fixed;
    width: 100vw;
    height: 100%;
    left: 0;
    top: 0;
    overflow: hidden;
    z-index: -1;
    opacity: 0;
    transition: .01s ease;
}

.showcase-images,
.bg-img {
    width: 100%;
    height: 100%;
}
    
.showcase-images .bg-img {
    position: fixed;
    overflow: hidden;
    background-repeat: repeat-n;
    margin: 0;
    padding: 0;
    transition: none;
}

.showreel-cta {
    position: absolute;
    top: 3.3em;
    right: 3.3em;
    z-index: 13;
    cursor: pointer;
    outline: none;
    padding: 0;
    border-radius: 50%;
    transition: .2s ease;
}

.showreel-cta:hover .showreel-btn {
    background: #070707;
    border: 5px double #f7f7f7;
}

.showreel-btn {
    width: 130px;
    height: 130px;
    padding: 3em;
    background: transparent;
    border-radius: 50%;
    border: 5px double #070707;
    cursor: pointer;
    outline: none;
    -webkit-animation-name: showreel; 
    -webkit-animation-duration: 2s; 
    -webkit-animation-timing-function: cubic-bezier(.82,.01,.17,1);
    animation-name: showreel; 
    animation-duration: 2s; 
    animation-timing-function: cubic-bezier(.82,.01,.17,1);
    animation-delay: 3.7s; 
    transform: rotate(-22.5deg);
    transition: .2s ease;
}

.showreel-btn span {
    font-size: .77rem;
    font-weight: 400;
    letter-spacing: .03em;
    text-transform: uppercase;
    line-height: 1.2;
    color: #070707;
}

.showreel-btn:hover span {
    color: #f7f7f7;
}

.showreel-btn:hover {
    -webkit-animation-name: showreel; 
    -webkit-animation-duration: 1.5s;
    -webkit-animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
    animation-name: showreel; 
    animation-duration: 1.5s;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
}

@-webkit-keyframes showreel {
    0% {
        transform: rotate(-22.5deg);
    }
    100% {
        transform: rotate(337.5deg);
    }
}

@keyframes showreel {
    0% {
        transform: rotate(-22.5deg);
    }
    100% {
        transform: rotate(337.5deg);
    }
}
      
.showreel-cta:hover + .showcase-reel {
    opacity: 1;
    background-size: 55%;
    background-position: center center;
    background-repeat: repeat-n;
    background-repeat: no-repeat;
    z-index: 7;
    -webkit-animation: switch 9s infinite;
    animation: switch 9s infinite;
    background-color: transparent;
    transition: .1s ease;
}

.showreel-cta:hover + .showcase-reel:before {
    opacity: 1;
    transition: .2s ease;
}

.showreel-cta:hover + .showcase-reel:after {
    opacity: .8;
    transition: .2s ease;
}

.showcase-images .bg-img:after {
    position: absolute;
    width: 0;
    height: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}
    
@-webkit-keyframes switch {
    0% {background-image: url('../work/ar-point.jpg');}
    5% {background-image: url('../work/ross-jones.jpg');}
    10% {background-image: url('../work/herbert-berger.jpg');}
    15% {background-image: url('../work/marie-korovina.jpg');}
    20% {background-image: url('../work/jc-toastmaster.jpg');}
    25% {background-image: url('../work/super-matryoshkas.jpg');}
    30% {background-image: url('../work/type-of-colour.jpg');}
    35% {background-image: url('../work/kria.jpg');}
    40% {background-image: url('../work/words-of-mystery.jpg');}
    45% {background-image: url('../work/anna-egoyan.jpg');}
    50% {background-image: url('../work/sm-2.jpg');}
    55% {background-image: url('../work/ar-point.jpg');}
    60% {background-image: url('../work/ross-jones.jpg');}
    65% {background-image: url('../work/herbert-berger.jpg');}
    70% {background-image: url('../work/marie-korovina.jpg');}
    75% {background-image: url('../work/jc-toastmaster.jpg');}
    80% {background-image: url('../work/super-matryoshkas.jpg');}
    85% {background-image: url('../work/type-of-colour.jpg');}
    90% {background-image: url('../work/kria.jpg');}
    95% {background-image: url('../work/words-of-mystery.jpg');}
    100% {background-image: url('../work/anna-egoyan.jpg');}
}

@keyframes switch {
    0% {background-image: url('../work/ar-point.jpg');}
    5% {background-image: url('../work/ross-jones.jpg');}
    10% {background-image: url('../work/herbert-berger.jpg');}
    15% {background-image: url('../work/marie-korovina.jpg');}
    20% {background-image: url('../work/jc-toastmaster.jpg');}
    25% {background-image: url('../work/super-matryoshkas.jpg');}
    30% {background-image: url('../work/type-of-colour.jpg');}
    35% {background-image: url('../work/kria.jpg');}
    40% {background-image: url('../work/words-of-mystery.jpg');}
    45% {background-image: url('../work/anna-egoyan.jpg');}
    50% {background-image: url('../work/sm-2.jpg');}
    55% {background-image: url('../work/ar-point.jpg');}
    60% {background-image: url('../work/ross-jones.jpg');}
    65% {background-image: url('../work/herbert-berger.jpg');}
    70% {background-image: url('../work/marie-korovina.jpg');}
    75% {background-image: url('../work/jc-toastmaster.jpg');}
    80% {background-image: url('../work/super-matryoshkas.jpg');}
    85% {background-image: url('../work/type-of-colour.jpg');}
    90% {background-image: url('../work/kria.jpg');}
    95% {background-image: url('../work/words-of-mystery.jpg');}
    100% {background-image: url('../work/anna-egoyan.jpg');}
}

/* --- PROCESS --- */

.process-container {
    width: 60vw;
    margin: 0 auto;
}

.process-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    margin: 0 auto;
    position: relative;
    overflow: hidden;
    z-index: 1;
}

.process-grid .process-step {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 30vw;
    background: #fcfcfc;
}

.process-grid .process-step.explore {
    border-top: 3px solid #070707;
    border-right: 3px solid #070707;
    border-bottom: 3px solid #070707;
    border-left: 3px solid #070707;
}

.process-grid .process-step.design {
    border-top: 3px solid #070707;
    border-right: 3px solid #070707;
    border-bottom: 3px solid #070707;
}

.process-grid .process-step.build {
    border-right: 3px solid #070707;
    border-bottom: 3px solid #070707;
    border-left: 3px solid #070707;
}

.process-grid .process-step.iterate {
    border-right: 3px solid #070707;
    border-bottom: 3px solid #070707;
}

.process .steps-info {
    top: calc(50% - 250px);
}

.process-grid .process-step h2 {
    font-size: 2.77rem;
}

.process-grid .overlay__item h2 {
    font-size: 3.33rem;
}

.process-grid .iterate h2 {
    margin-top: -.45em;
    padding-bottom: 1.3em;
}

.process-grid .process-step h2,
.process-grid .overlay__item h2 {
    color: #5f5f5f;
    position: relative;
    mix-blend-mode: unset;
}

.process-grid .overlay__item h2 {
    color: #070707;
    margin-bottom: 1em;
}

.process-grid .overlay__item p {
    font-size: 1.35rem;
    font-weight: 300;
    letter-spacing: .02em;
    line-height: 1.44;
    color: #f7f7f7;
    mix-blend-mode: unset;
    transform: unset !important;
}

.process-title .title-inner::before {
	content: attr(data-hover);
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	overflow: hidden;
	white-space: nowrap;
	-webkit-text-stroke: 0;
	text-stroke: 0;
	-webkit-text-fill-color: #070707;
	text-fill-color: #070707;
	color: #070707;
    transition: .3s cubic-bezier(.55,.01,.33,1);
}

.process-step:hover .process-title .title-inner::before {
	height: 100%;
	width: 100%;
}

.process-grid .shape {
    margin: 2.5em 0 0 0;
    transition: .3s ease;
}

.process-grid .explore .circle {
    width: 111px;
    height: 111px;
    border-radius: 50%;
    background: #070707;
}

.process-grid .design .triangle {
    width: 0;
    height: 0;
    border-left: 55.5px solid transparent;
    border-right: 55.5px solid transparent;
    border-bottom: 111px solid #070707;
}

.process-grid .build .square {
    width: 111px;
    height: 111px;
    background: #070707;
}

.process-grid .iterate .hexagon {
    width: 130px;
    height: 65px;
    background: #070707;
    position: relative;
    margin-top: calc(-1.7em + 21.5px);
}

.process-grid .iterate .hexagon:before {
    content: "";
    position: absolute;
    top: -32.5px;
    left: 0;
    width: 0;
    height: 0;
    border-left: 65px solid transparent;
    border-right: 65px solid transparent;
    border-bottom: 32.5px solid #070707;
    transition: .3s ease;
}

.process-grid .iterate .hexagon:after {
    content: "";
    position: absolute;
    bottom: -32.5px;
    left: 0;
    width: 0;
    height: 0;
    border-left: 65px solid transparent;
    border-right: 65px solid transparent;
    border-top: 32.5px solid #070707;
    transition: .3s ease;
}

.process-step:hover .circle,
.process-step:hover .square,
.process-grid .circle:hover,
.process-grid .square:hover {
    background: #5f5f5f;
}

.process-step:hover .triangle,
.process-grid .triangle:hover {
    border-bottom: 111px solid #5f5f5f;
}

.process-step:hover .hexagon,
.process-grid .hexagon:hover {
    background: #5f5f5f;
}

.process-step:hover .hexagon:before,
.process-grid .hexagon:hover:before {
    border-bottom: 32.5px solid #5f5f5f;
}

.process-step:hover .hexagon:after,
.process-grid .hexagon:hover:after {
    border-top: 32.5px solid #5f5f5f;
}

/* --- OVERLAY --- */

/*.preview-open {
	overflow: hidden;
}*/

.overlay {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: .01em;
	z-index: 1111;
	pointer-events: none;
}

.overlay--open {
	pointer-events: auto;
}

.overlay__reveal {
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: #070707;
	position: absolute;
	z-index: 100;
	transform: translate3d(-100%,0,0);
}

.overlay__item {
	width: 100%;
	height: 100%;
    position: absolute;
    background: #575757;
	top: 0;
	left: 0;
	display: flex;
	flex-direction: column;
    align-items: flex-start;
	justify-content: center;
	padding: 0 17% 0 19%;
	opacity: 0;
}

.overlay__close {
    position: absolute;
	top: 0;
	right: 0;
	width: 65px;
    height: 65px;
	background: #070707;
	border: 0;
	opacity: 0;
	cursor: pointer;
}

.overlay__close:before {
	content: '\22B9';
    font-size: 2.4rem;
	color: #f7f7f7;
    opacity: .77;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    left: .05em;
    bottom: .06em;
    transition: .2s ease;
    transform: rotate(45deg);
}

.overlay__close:hover:before {
    opacity: .99;
}

.overlay__close:focus {
	outline: none;
}

/* --- QUOTE --- */

.quote {
    display: flex;
    justify-content: center;
    align-items: center;
    mix-blend-mode: difference;
}

.quote .quote-container {
    width: 67.7%;
    margin-left: 10%;
}

.quote .quote-content {
    position: relative;
    padding: 0;
}

.quote .quote-content h2 {
    font-size: 5rem;
}

.quote .quote-content .quote-mark--open {
    margin-left: -.57em;
    margin-right: .1em;
}

.quote .quote-content .quote-mark--close {
    margin-left: .005em;
}

/* --- FOOTER --- */

.footer {
    width: 100vw;
    height: 111px;
    background: #f7f7f7;
    position: relative;
    mix-blend-mode: difference;
}

.footer .footer-container {
    width: 100vw;
    height: 100%;
    margin: 0 auto;
}

.footer .footer-content {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}

.footer .footer-content .history {
    width: 69%;
}

.footer .footer-content .privacy-link {
    width: 31%;
}

.footer .footer-content span {
    display: flex;
    justify-content: center;
    font-size: .77rem;
    text-transform: uppercase;
    letter-spacing: .02em;
    color: #070707;
}

/* --- RESPONSIVE CSS (MOBILE) --- */

@media only screen and (max-width: 768px) {

/* --- INTRO --- */

.js body.render .site-wrapper::before,
.js body.render .intro-heading::before {
    width: 100%;
}

.intro-heading::before {
    left: 0;
}

.nav-header {
    position: absolute;
}

.main-nav {
    display: none;
}

.logo-container {
    display: none;
    left: -17.1em;
    bottom: -5em;
    transform: rotate(180deg);
}

.showreel-cta {
    display: none;
}

.intro .intro-heading .headline {
    letter-spacing: -.2em;
    line-height: 1.4;
}

.intro .intro-heading .line1, 
.intro .intro-heading .line2 {
    font-size: calc(10vw + 7vh);
}

.intro .intro-heading .line1 {
    left: 0;
}

.intro .intro-heading .line2 {
    right: 0;
}

.intro .intro-heading .ampersand {
    top: -.13em;
}

.intro .scroll {
    display: none;
    right: calc(53% - 8.25px);
}

.intro .intro-text {
    width: 55%;
    font-size: 2.2rem;
}

.intro .hello {
    margin: 33% 11% 13% 13%;
}

.intro .hello .line-1 {
    font-size: 11vw;
}

.intro .hello .line-2 {
    font-size: 10vw;
}

.intro .intro-text {
    width: 100%;
    font-size: 8.5vw;
    letter-spacing: -.01em;
}

.title--large {
    font-size: 13vw;
    max-width: 77%;
    margin: 0 0 1.5em 11%;
}

.title--medium {
    font-size: 10vw;
}

.title--large,
.title--medium {
    letter-spacing: -.01em;
}

.text--large {
    font-size: 2.2rem;
    letter-spacing: -.02em;
    line-height: 1.15;
}

.text--medium {
    font-size: 1.4rem;
}

.case-study {
    background: #070707;
    padding: 30% 0;
}

.case-study .cs-container {
    grid-template-columns: repeat(1, 1fr);
    grid-gap: 3em;
    margin: 0 11%;
}

.case-study .cs-info {
    margin: 0;
}

.case-study p {
    font-size: 1.277rem;
}

.case-study .cs-image {
    border: none;
    mix-blend-mode: unset;
    height: 188px;
}

.work, 
.clients, 
.process, 
.quote, 
.about, 
.contact {
    padding: 30% 0;
}

.hello::after, 
.work::after, 
.clients::after, 
.process::after, 
.about::after, 
.contact::after {
    display: none;
}

/* --- WORK --- */

.work {
    padding: 22% 0 33%;
}

.work .projects {
    max-width: 100vw;
    grid-gap: 15em;
    margin-top: 8.8em;
}

.work .project {
    width: 21rem;
    height: 21rem;
    justify-self: center !important;
}

.work .project.kr, 
.work .project.rj, 
.work .project.mk, 
.work .project.jc {
    left: 0;
}

.work .project.ap, 
.work .project.hb, 
.work .project.sm, 
.work .project.toc {
    right: 0;
}

.work .project .project-container {
    border: 5px double #cbcbcb;
}

.work .project .color-indicator {
    width: 100%;
    height: 100%;
}

.work .project .project-link {
    padding: 0 3em;
}

.work .project .project-title {
    font-size: 2.3rem;
}

.work .project .project-desc {
    font-size: .85rem;
}

.work .project .project-cta {
    font-size: 1rem;
}

.work .project .project-title--hover {
    display: none;
}

/* --- TESTIMONIALS --- */

.clients {
    background: #070707;
    padding: 30% 0;
}

.clients-container {
    height: 107vh;
}

.testimonials-slider {
    width: 77vw;
    margin-top: 0;
}

.testimonials-slider .client-image {
    max-width: 70vw;
    height: 350px;
}

.testimonials-slider .testimonial-content {
    font-size: 1.95rem;
    line-height: 1.2;
    width: 107% !important;
    margin: 12.7em 0 0 0 !important;
}

.testimonials-slider .testimonial-content .client-name {
    font-size: 1rem;
    line-height: 1.4;
}

/* --- PROCESS --- */

.process {
    padding: 33% 0;
}

.process-container {
    width: 100vw;
}

.process-grid .process-step {
    height: 19rem;
}

.process-grid .process-step.explore,
.process-grid .process-step.build {
    border-left: none;
}

.process-grid .process-step.design,
.process-grid .process-step.iterate {
    border-right: none;
}

.process-grid .process-step h2 {
    font-size: 1.77rem;
}

.process-grid .explore .circle,
.process-grid .build .square {
    width: 80px;
    height: 80px;
}

.process-grid .design .triangle {
    border-left: 40px solid transparent;
    border-right: 40px solid transparent;
    border-bottom: 80px solid #070707;
}

.process-step:hover .triangle, 
.process-grid .triangle:hover {
    border-bottom: 80px solid #5f5f5f;
}

.process-grid .iterate .hexagon {
    width: 90px;
    height: 45px;
}

.process-grid .iterate .hexagon::before {
    top: -22.5px;
    border-left: 45px solid transparent;
    border-right: 45px solid transparent;
    border-bottom: 22.5px solid #070707;
}

.process-grid .iterate .hexagon::after {
    bottom: -22.5px;
    border-left: 45px solid transparent;
    border-right: 45px solid transparent;
    border-top: 22.5px solid #070707;
}

.process-step:hover .hexagon:before,
.process-grid .hexagon:hover:before {
    border-bottom: 22.5px solid #5f5f5f;
}

.process-step:hover .hexagon:after,
.process-grid .hexagon:hover:after {
    border-top: 22.5px solid #5f5f5f;
}

.process-grid .iterate h2 {
    margin-top: -.7em;
    padding-bottom: 2.15em;
}

.process-grid .overlay__item {
    padding: 0 13%;
}

.process-grid .overlay__item h2 {
    font-size: 2rem;
    margin-bottom: .7em;
}

.process-grid .overlay__item p {
    font-size: 1.1rem;
}

.process .steps-info {
    font-size: .7rem;
    top: 19%;
    height: unset;
    right: unset;
    left: 11.5%;
    -webkit-writing-mode: unset;
    -moz-writing-mode: unset;
    -ms-writing-mode: unset;
    writing-mode: unset;
}

/* --- QUOTE --- */

.quote {
    height: 80vh;
    background: #070707;
    mix-blend-mode: unset;
}

.quote .quote-container {
    width: 80%;
    margin-left: 11%;
}

.quote .quote-content h2 {
    font-size: 10vw;
}

/* --- ABOUT --- */

.about .title {
    margin: 0 0 0 11%;
}

.about .about-container {
    width: 100vw;
}

.about .bio {
    margin: 33em -11em 0;
}

.about .bio .bio-content {
    max-width: 95%;
}

.about .about-image {
    max-width: 70%;
    margin: 7.7em 3em 0 -7.7em;
}

.about .about-image .image-container img {
    width: 100%;
}

.about .bio .bio-content svg {
    width: 155px;
}

/* --- CONTACT --- */

.contact {
    background: #070707;
}

.contact-info {
    width: 80vw;
}

.contact-info h1 {
    margin-left: 0;
}

.contact-info h2 {
    width: 90%;
}

.contact-info p {
    font-size: 1.35rem;
    margin: 0 0 2em;
}

.contact-info .email-link {
    font-size: 8.8vw;
    letter-spacing: -.02em;
}

.email-link::before {
    height: 3px;
}

.enquiry-cta {
    top: calc(30% - 33px);
    right: calc(23% - 60px);
}

.enquiry-btn {
    font-size: .65rem;
    width: 111px;
    height: 111px;
}

.contact .availability {
    display: none;
}

/* --- PROJECT ENQUIRY FORM --- */

.project-enquiry {
    width: 100%;
}

.project-enquiry .form-content {
    width: 80%;
    padding: 22% 0;
}

.project-enquiry .form-content h2 {
    font-size: 10.5vw;
    margin-bottom: 1em;
}

.project-enquiry .form-content h3 {
    font-size: 7.7vw;
}

.project-enquiry .form-row {
    display: block;
}

.project-enquiry .form-text {
    font-size: 1.3rem;
}

.project-enquiry .form-fields .input {
    margin: .7em 0 0 0;
}

.project-enquiry .form-fields .input__field {
    font-size: 1.4rem;
}

.project-enquiry .form-fields .input__label {
    font-size: 1.1rem;
}

.project-enquiry .form-fields .textarea {
    font-size: 1.15rem;
}

.project-enquiry .form-fields .form-radio-group {
    margin-top: 2em;
}

.project-enquiry .form-fields > li .form-radio-custom span,
.project-enquiry .form-fields > li .form-radio-custom label {
    width: 100%;
}

.project-enquiry .form-fields > li .form-radio-custom span {
    font-size: 1.05rem;
}

.project-enquiry .form-fields > li .form-radio-custom label {
    padding: 1.3em 1.1em 1.4em;
    margin: 0 0 .5em;
}

/* --- FOOTER --- */

.footer .footer-container {
    display: flex;
    height: 100%;
}

.footer .footer-content {
    height: unset;
    display: unset;
    align-self: center;
    margin-bottom: .5em;
}

.footer .footer-content span {
    display: flex;
    width: 100% !important;
    margin-top: .5em;
}
}

/* --- RESPONSIVE CSS (LARGE DESKTOPS) --- */

@media only screen and (min-width: 1920px) {
    .logo svg,
    .designer-name svg {
       width: 250px;
    }
    .designer-name svg {
       height: 35px;
    }
    .nav-wrapper {
        top: 13em;
    }
    .main-nav a {
        font-size: 1rem;
    }
    .showreel-btn {
        width: 170px;
        height: 170px;
    }
    .showreel-btn span {
        font-size: 1.05rem;
    }
    .intro .intro-heading .line1, 
    .intro .intro-heading .line2 {
        font-size: calc(14vw + 7.7vh);
    }
    .intro .hello .line-1 {
        font-size: 5.5rem;
        margin-bottom: .4em;
    }
    .intro .intro-text {
        font-size: 5rem;
    }
    .title--large {
        font-size: 7.7rem;
        max-width: 40%;
    }
    .text--large {
        font-size: 5.5rem;
    }
    .text--medium {
        font-size: 2.6rem;
    }
    .info {
        font-size: 1rem;
        height: 33%;
        right: 5em;
    }
    .hello::after, 
    .work::after, 
    .clients::after, 
    .process::after, 
    .about::after, 
    .contact::after {
        font-size: calc(10vw + 7vh);
        right: .4em;
    }
    .work .projects {
        grid-gap: 30em;
        margin: 20em auto 5.55em;
    }
    .work .project {
        width: 35rem;
        height: 35rem;
    }
    .work .project.kr, 
    .work .project.rj, 
    .work .project.mk, 
    .work .project.jc {
        left: 8em;
    }
    .work .project.ap, 
    .work .project.hb, 
    .work .project.sm, 
    .work .project.toc {
        right: 6em;
    }
    .work .project-container,
    .work .project-container:hover {
        border-width: 11px !important;
    }
    .work .project-link {
        padding: 0 4em;
    }
    .work .project .color-indicator {
        width: 33rem;
        height: 33rem;
    }
    .work .project .project-title, 
    .work .project .project-title--hover {
        font-size: 4rem;
        line-height: 1.05;
    }
    .work .project.kr .project-title--hover, 
    .work .project.rj .project-title--hover, 
    .work .project.mk .project-title--hover, 
    .work .project.jc .project-title--hover {
        right: -4em;
    }
    .work .project.ap .project-title--hover, 
    .work .project.hb .project-title--hover, 
    .work .project.sm .project-title--hover, 
    .work .project.toc .project-title--hover {
        left: -4em;
    }
    .work .project.kr .project-title--hover::before, 
    .work .project.rj .project-title--hover::before, 
    .work .project.mk .project-title--hover::before, 
    .work .project.jc .project-title--hover::before {
        -webkit-text-fill-color: #070707;
        text-fill-color: #070707;
        color: #070707;
    }
    .work .project .project-desc {
        font-size: 1.15rem;
    }
    .work .project .project-cta {
        font-size: 1.4rem;
    }
    .clients .testimonials-slider .testimonial-content {
        font-size: 4rem;
        margin: 13.7% 0 0 7%;
    }
    .clients .testimonials-slider .testimonial-content .client-name {
        font-size: 1.6rem;
        margin: 3em 0 0 .1em;
    }
    .clients .testimonial-slide.mk .testimonial-content {
        width: 50%;
        margin-left: 1%;
    }
    .clients .testimonial-slide.jc .testimonial-content {
        width: 48%;
        margin-left: 3%;
    }
    .clients .testimonial-slide.rj .testimonial-content {
        width: 45%;
        margin-left: 5%;
    }
    .clients .testimonial-slide.yd .testimonial-content {
        width: 47%;
        margin-left: 3%;
    }
    .clients .testimonials-slider .slidenav {
        right: -35px;
        bottom: calc(50% - 55px);
        width: 70px;
        height: 130px;
    }
    .clients .testimonials-slider .slidenav__item {
        font-size: 1.4rem;
        line-height: 63px;
    }
    .process-grid .process-step {
        border-width: 5px !important;
    }
    .process-grid .process-step h2 {
        font-size: 4rem;
    }
    .process-grid .explore .circle,
    .process-grid .build .square {
        width: 150px;
        height: 150px;
    }
    .process-grid .design .triangle {
        border-left-width: 75px;
        border-right-width: 75px;
        border-bottom-width: 150px;
    }
    .process-step:hover .triangle, 
    .process-grid .triangle:hover {
        border-bottom-width: 150px;
    }
    .process-grid .iterate .hexagon {
        width: 170px;
        height: 85px;
    }
    .process-grid .iterate .hexagon::before {
        top: -42.5px;
        border-left-width: 85px;
        border-right-width: 85px;
        border-bottom-width: 42.5px;
    }
    .process-grid .iterate .hexagon::after {
        bottom: -42.5px;
        border-left-width: 85px;
        border-right-width: 85px;
        border-top-width: 42.5px;
    }
    .process-step:hover .hexagon::before, 
    .process-grid .hexagon:hover::before {
        border-bottom-width: 42.5px;
    }
    .process-step:hover .hexagon::after, 
    .process-grid .hexagon:hover::after {
        border-top-width: 42.5px;
    }
    .process-grid .overlay__item h2 {
        font-size: 5.5rem;
    }
    .process-grid .overlay__item p {
        font-size: 2rem;
        line-height: 1.5;
    }
    .overlay__close {
        width: 95px;
        height: 95px;
    }
    .overlay__close::before {
        font-size: 3.77rem;
        bottom: .05em;
    }
    .quote .quote-container {
        width: 61.7%;
    }
    .quote .quote-content h2 {
        font-size: 7rem;
    }
    .about .bio {
        margin: 20em -17em 0;
    }
    .about .about-image {
        margin-top: 15em;
    }
    .contact .enquiry-cta {
        top: calc(17.5% - 85px);
        right: calc(31% - 85px);
    }
    .contact .enquiry-btn {
        font-size: 1rem;
        width: 170px;
        height: 170px;
    }
    .contact .contact-info h2,
    .contact .contact-info p {
        width: 63%;
    }
    .contact .contact-info p {
        font-size: 2.3rem;
    }
    .contact .contact-info .email-link {
        font-size: 5rem;
    }
    .footer {
        height: 170px;
    }
    .footer .footer-content span {
        font-size: 1.1rem;
    }
    .project-enquiry .form-content {
        padding-bottom: 17%;
    }
    .project-enquiry .form-content h2 {
        font-size: 7rem;
    }
    .project-enquiry .form-content h3 {
        font-size: 4rem;
        margin-bottom: 2.5em;
    }
    .project-enquiry .form-content .form-row,
    .project-enquiry .form-content .form-row.email {
        margin-bottom: 7em;
    }
    .project-enquiry .form-content .form-text {
        font-size: 2.2rem;
    }
    .project-enquiry .form-content .input__field {
        font-size: 2.5rem;
    }
    .project-enquiry .form-content .input {
        margin: -3.3em 0 0 2.2em;
    }
    .project-enquiry .form-content .input__label-content {
        padding: 4em 0 1.55em;
    }
    .project-enquiry .form-content .txta .input__label-content {
        padding: 1em 0 1.55em;
    }
    .project-enquiry .form-content .input__label {
        font-size: 1.5rem;
    }
    .project-enquiry .form-content .form-radio-group {
        margin: 3.5em 0 0;
    }
    .project-enquiry .form-content .form-fields > li .form-radio-custom label {
        padding: 1.1em 1.25em 1.17em;
    }
    .project-enquiry .form-content .form-fields > li .form-radio-custom label,
    .project-enquiry .form-content .form-fields > li .form-radio-custom span:hover label,
    .form-fields .form-radio-custom input[type="radio"]:checked + label, 
    .form-form-overview .form-fields .form-radio-custom input[type="radio"]:checked + label {
        border-width: 4px !important;
    }
    .project-enquiry .form-content .form-fields > li .form-radio-custom span {
        font-size: 1.6rem;
        margin: 0 .2em 0 0;
    }
    .project-enquiry .form-content .txta {
        margin: 2.5em 0 0;
    }
    .project-enquiry .form-content .textarea {
        font-size: 1.9rem;
    }
    .project-enquiry .form-content textarea {
        height: 600px;
    }
    .project-enquiry .form-content .submit {
        font-size: .88rem;
        width: 170px;
        height: 170px;
    }
}

/* --- RESPONSIVE CSS (LARGE LAPTOPS) --- */

@media only screen and (max-width: 1919px) and (min-width: 1281px) {
    svg {
        width: 200px;
    }
    .main-nav a {
        font-size: .88rem;
    }
    .title--large {
        font-size: 6rem;
        max-width: 55%;
    }
    .text--large {
        font-size: 4.4rem;
    }
    .text--medium {
        font-size: 1.9rem;
    }
    .work .project.kr, 
    .work .project.rj, 
    .work .project.mk, 
    .work .project.jc {
        left: 12em;
    }
    .work .project.ap, 
    .work .project.hb, 
    .work .project.sm, 
    .work .project.toc {
        right: 5.77em;
    }
    .clients .testimonials-slider .testimonial-content {
        font-size: 3rem;
        margin: 17.7% 0 0 5.5%;
    }
    .clients .testimonial-slide.mk .testimonial-content {
        width: 50%;
        margin-left: 1%;
    }
    .clients .testimonial-slide.jc .testimonial-content {
        width: 48%;
        margin-left: 3%;
    }
    .clients .testimonial-slide.rj .testimonial-content {
        width: 45%;
        margin-left: 5%;
    }
    .clients .testimonial-slide.yd .testimonial-content {
        width: 47%;
        margin-left: 3%;
    }
    .clients .testimonials-slider .testimonial-content .client-name {
        font-size: 1.15rem;
    }
    .process-grid .iterate h2 {
        margin-top: -.55em;
        padding-bottom: 1.5em;
    }
    .quote .quote-container {
        width: 57.7%;
    }
    .about .bio {
        margin: 15em -13em 0;
    }
    .about .about-image {
        margin-top: 13em;
    }
    .showreel-btn,
    .enquiry-btn,
    .submit {
        width: 140px;
        height: 140px;
    }
    .enquiry-btn,
    .submit {
        font-size: .77rem;
    }
    .contact .enquiry-cta {
        top: calc(17.5% - 70px);
        right: calc(31% - 70px);
    }
    .contact .contact-info h2 {
        width: 67%;
    }
    .contact .contact-info p {
        font-size: 1.8rem;
        max-width: 65%;
    }
    .contact-info .email-link {
        font-size: 4rem;
    }
    .project-enquiry .form-content h2 {
        font-size: 5rem;
    }
    .project-enquiry .form-content h3 {
        font-size: 3.3rem;
        line-height: 1.1;
        margin-bottom: 1.5em;
    }
    .project-enquiry .form-content .form-row {
        margin-bottom: 4em;
    }
    .project-enquiry .form-content .form-row.email {
        margin-bottom: 5em;
    }
    .project-enquiry .form-content .form-text {
        font-size: 1.5rem;
    }
    .project-enquiry .form-content .input__label {
        font-size: 1.2rem;
    }
    .project-enquiry .form-content .input__label-content {
        padding-top: 1.95em;
    }
    .project-enquiry .form-content .txta .input__label-content {
        padding-top: 0;
    }
    .project-enquiry .form-content .input__field {
        font-size: 1.6rem;
    }
    .project-enquiry .form-content .form-radio-group {
        margin-top: 1.7em;
    }
    .project-enquiry .form-content .form-fields > li .form-radio-custom span {
        font-size: 1.15rem;
    }
    .project-enquiry .form-content .form-fields > li .form-radio-custom label {
        padding: 1.2em 1.35em 1.27em;
    }
    .project-enquiry .form-content .textarea {
        font-size: 1.35rem;
    }
    .footer {
        height: 122px;
    }
    .footer .footer-content span {
        font-size: .88rem;
    }

}